找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 18512|回复: 10

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

  [复制链接]
发表于 2020-5-16 20:40:02 | 显示全部楼层 |阅读模式
vlookup函数可以把在同级目录的表格相对引用起来
但是企业微盘这个要建立分区就必须分成文件夹
公司/文件夹A/数据
公司/文件夹B/统计
大概这么个结构
求解
发表于 2020-5-16 21:10:09 | 显示全部楼层
回复 1# sykIII


    请把测试用的两个目录以及Excel文件打包压缩传上来我试试
 楼主| 发表于 2020-5-16 21:20:43 | 显示全部楼层
回复 2# Batcher

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

似乎要使用VBA这种,但是我真的一窍不通,只会简单使用函数
发表于 2020-5-16 21:37:35 | 显示全部楼层
回复 3# sykIII


    你的VLOOKUP不是已经写好了吗,测试的时候遇到什么问题了吗,请详细说下。
 楼主| 发表于 2020-5-16 21:45:00 | 显示全部楼层
回复 4# Batcher


    你把他们换个路径再试试,肯定找不到源,excel不支持分级目录下的表格文件引用,听人说需要用vba
发表于 2020-5-16 21:48:47 | 显示全部楼层
回复 5# sykIII


    你的意思是《统计.xlsx》里面的函数写好了,但是后来《数据.xlsx》所在目录发生了变化对吗?那vlookup肯定是找不到了
 楼主| 发表于 2020-5-16 21:52:20 | 显示全部楼层
回复 6# Batcher


    不是的,他们都在一个父级目录结构里,都在"测试"这个文件夹里
把"测试"这个文件夹挪走,挪到什么地方都行,打开[统计.xlsx]一定会失效
正常来说我发给你们,你们也应该失效
发表于 2020-5-16 23:44:30 | 显示全部楼层
回复 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
复制代码
如果不知道怎么执行,请直接尝试文件:
 楼主| 发表于 2020-5-16 23:55:50 | 显示全部楼层
回复 8# Batcher


   能详细说一下这个填在哪么,我这边有好几个这种表,数据都很庞大
您真的帮了我天大的忙,万分感谢
发表于 2020-5-17 00:24:10 | 显示全部楼层
回复 9# sykIII


打开文件:统计.xlsx
Alt + F11
双击Thisworkbook,选择workbook,选择Open事件,参考截图:https://zhidao.baidu.com/question/578896508.html
把代码放进去
统计.xlsx 另存为 统计.xlsm
 楼主| 发表于 2020-5-17 09:10:04 | 显示全部楼层
本帖最后由 sykIII 于 2020-5-17 10:31 编辑

回复 10# Batcher


    十分感谢!

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

链接: https://pan.baidu.com/s/1z05gRNfmcEwIRmwJNU7cDA 提取码: t141
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-17 04:07 , Processed in 0.021486 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表