[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

【50元求助】关于excel的函数,怎么把两个不同文件夹的表格相互引用

vlookup函数可以把在同级目录的表格相对引用起来
但是企业微盘这个要建立分区就必须分成文件夹
公司/文件夹A/数据
公司/文件夹B/统计
大概这么个结构
求解

回复 1# sykIII


    请把测试用的两个目录以及Excel文件打包压缩传上来我试试
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

回复 2# Batcher

链接: https://pan.baidu.com/s/1fWEzayO-2trag0Uur0bPQw 提取码: gjfu

似乎要使用VBA这种,但是我真的一窍不通,只会简单使用函数

TOP

回复 3# sykIII


    你的VLOOKUP不是已经写好了吗,测试的时候遇到什么问题了吗,请详细说下。
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

回复 4# Batcher


    你把他们换个路径再试试,肯定找不到源,excel不支持分级目录下的表格文件引用,听人说需要用vba

TOP

回复 5# sykIII


    你的意思是《统计.xlsx》里面的函数写好了,但是后来《数据.xlsx》所在目录发生了变化对吗?那vlookup肯定是找不到了
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

回复 6# Batcher


    不是的,他们都在一个父级目录结构里,都在"测试"这个文件夹里
把"测试"这个文件夹挪走,挪到什么地方都行,打开[统计.xlsx]一定会失效
正常来说我发给你们,你们也应该失效

TOP

回复 7# sykIII


试试这段VBA:
  1. Private Sub Workbook_Open()
  2.     Dim n As Integer
  3.     n = 1
  4.     For n = 1 To UBound(ActiveWorkbook.LinkSources(xlExcelLinks))
  5.         Link_Old = ActiveWorkbook.LinkSources(xlExcelLinks)(n)
  6.         If Link_Old = "" Then Exit Sub
  7.         ArrOld = Split(Link_Old, "\")
  8.         ArrNew = Split(ActiveWorkbook.Path, "\")
  9.         ArrNew(UBound(ArrNew)) = ArrOld(UBound(ArrOld) - 1)
  10.         Link_New = Join(ArrNew, "\") & "\" & ArrOld(UBound(ArrOld))
  11.         If Link_Old <> Link_New Then
  12.             Set myfile = CreateObject("Scripting.FileSystemObject")
  13.             If myfile.fileExists(Link_New) Then
  14.                 ActiveWorkbook.ChangeLink Link_Old, Link_New, xlExcelLinks
  15.             End If
  16.         End If
  17.         ActiveWorkbook.UpdateLink Name:=ActiveWorkbook.LinkSources(xlExcelLinks)(n)
  18.     Next
  19. End Sub
复制代码
如果不知道怎么执行,请直接尝试文件:
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

回复 8# Batcher


   能详细说一下这个填在哪么,我这边有好几个这种表,数据都很庞大
您真的帮了我天大的忙,万分感谢

TOP

回复 9# sykIII


打开文件:统计.xlsx
Alt + F11
双击Thisworkbook,选择workbook,选择Open事件,参考截图:https://zhidao.baidu.com/question/578896508.html
把代码放进去
统计.xlsx 另存为 统计.xlsm
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

本帖最后由 sykIII 于 2020-5-17 10:31 编辑

回复 10# Batcher


    十分感谢!

还有一事求教
这个表再单独引用一个文件时是没问题的
但是引用多个就会报错,我把所有表都拿上来您看一下吧,麻烦您了

链接: https://pan.baidu.com/s/1z05gRNfmcEwIRmwJNU7cDA 提取码: t141

TOP

返回列表