如何将VBA做的带有窗体的程序与其他Excel分离开,如果打开多个Excel时,VBA会提取其他Excel的数据

如何将VBA做的带有窗体的程序与其他Excel分离开,如果打开多个Excel时,VBA会提取其他Excel的数据,第1张

1、将程序文件存在一个单独的工作簿内,该工作簿后缀名为“XLSM”。

2、将该程序文件挂到Excel的其他命令-宏命令下,对应的图标会在工具栏显示,与Excel的其他命令标签类似。

3、打开其他的工作簿后,点击步骤2的图标,即可 *** 作数据。

Sub tt()

Dim p$, f$, txt$

p = ThisWorkbookPath & "\" '换成你设定的路径

f = Dir(p & "eml")

If f <> "" Then

Do Until f = ""

txt = Replace(f, "eml", "txt")

Name p & f As p & txt

f = Dir

Loop

End If

End Sub

如果只是修改你说的内容就比较简单,要提取子文件夹中的文件,用VBA也是可以的。写起来有点麻烦,还不如直接用个DOS命令先提取文件名,这样来得快:

1:运行->cmd然后会出来命令提示符,再输入dir e:\access /B/S xls > e:\dataxls (以上是直接把e盘access这个文件夹中的所有xls文件和子文件夹中的xls文件名提取出来并保存到e盘的dataxls中)(dataxls是自己生成不用新建)

2:打开dataxls文件,就会发现A列全是文件路径和名称,然后在B列把A列的文件名分离出来。

然后建一个commandbutton,输入以下代码:

Private Sub CommandButton1_Click()

ApplicationScreenUpdating = False '关闭屏幕刷新

ApplicationDisplayAlerts = False '禁用所有事件

for i=1 to range("a65536")end(xlup)row

WorkbooksOpen range("a"&i)

For Each sht In Sheets

If shtName = "Sheet1" Then

shtRange("D3") = "己复核"

End If

Next

workbooks(trim(range("b"&i)))Close True

next

ApplicationDisplayAlerts = True ' 启用所有事件

ApplicationScreenUpdating = True '打开屏幕刷新

END SUB

以上就是关于如何将VBA做的带有窗体的程序与其他Excel分离开,如果打开多个Excel时,VBA会提取其他Excel的数据全部的内容,包括:如何将VBA做的带有窗体的程序与其他Excel分离开,如果打开多个Excel时,VBA会提取其他Excel的数据、用VBA程序把后缀eml的文件改为TXT文件,请教如何做、VBA 怎么提取二级、三级文件夹下的文件等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9318199.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-27
下一篇 2023-04-27

发表评论

登录后才能评论

评论列表(0条)

保存