gpt4 book ai didi

file - 如何使用 vba 在具有通用名称的文件中打开某些 excel 文件夹

转载 作者:行者123 更新时间:2023-12-04 21:07:30 26 4
gpt4 key购买 nike

我的问题是我需要使用 VBA(对于 excel 2007)打开一些 excel 文件并提取数据。我要打开的所有文件都称为“profit for January.xlsx”、“profit for February.xlsx”等等,只是月份名称发生了变化,所以我想打开一个名为“profit for*”的文件.文件夹中有另一个我不想打开的名为“总收入.xlsx”的文件。

如果可能,我需要代码从文件夹中的文件中提取数据,无论文件夹可能在哪里,因为我将此代码发送给我的同事以放入他们自己的文件夹中,这些文件夹具有相同的文件名格式等,但路径不同.

我有提取数据的代码,它有效,但它要么导入文件夹中的所有数据,要么根本不导入!

对此的任何帮助将不胜感激,因为我是一名试图让他踏上大门的实习生,这对我来说将是一个很大的突破!

更多信息

到目前为止,我有下面的代码(我没有包括昏暗的,因为我觉得它们可能是不必要的?),这是我从其他网站上提取的。我还发现,在尝试打开文件夹中的所有文件时,它正在尝试打开自己!如果有人能建议如何改进这一点,我将不胜感激。我已经很久没有使用 VBA 了,并且发现这个任务非常困难!

有时出现的错误框说我需要一个变量 sfilename 的“对象”,我不确定如何在不弄乱代码的另一部分的情况下做到这一点。

sub import data ()

ChDir ThisWorkbook.Path

Set objFSO = CreateObject("Scripting.FileSystemObject")
Set sfolder = objFSO.GetFolder(ThisWorkbook.Path)

For Each sfilename In sfolder.Files

If sfilename <> "Total Revenue.xlsx" Then

Workbooks.Open Filename:= _
sfilename *'open the file*

Set sfilename = ActiveWorkbook *'set the file name as sfilename, so the single piece of code will work with the copy-loop*

b = Sheets.Count *'for the data-import loop*

Call ImportData *'call in the loop*
sfilename.Close *'close the file*

End If

Next

end sub

最佳答案

到目前为止,我有下面的代码(我没有包括昏暗的,因为我觉得它们可能是不必要的?),这是我从其他网站上提取的。我还发现,在尝试打开文件夹中的所有文件时,它正在尝试打开自己!如果有人能建议如何改进这一点,我将不胜感激。我已经很久没有使用 VBA 了,并且发现这个任务非常困难!

有时出现的错误框说我需要一个变量 sfilename 的“对象”,我不确定如何在不弄乱代码的另一部分的情况下做到这一点。

非常感谢和最亲切的问候,
标记

子导入数据()

ChDir ThisWorkbook.Path

Set objFSO = CreateObject("Scripting.FileSystemObject")
Set sfolder = objFSO.GetFolder(ThisWorkbook.Path)

For Each sfilename In sfolder.Files

If sfilename <> "Total Revenue.xlsx" Then

Workbooks.Open Filename:= _
sfilename *'open the file*

Set sfilename = ActiveWorkbook *'set the file name as sfilename, so the single piece of code will work with the copy-loop*

b = Sheets.Count *'for the data-import loop*

Call ImportData *'call in the loop*
sfilename.Close *'close the file*

End If

Next

结束子

关于file - 如何使用 vba 在具有通用名称的文件中打开某些 excel 文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4690107/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com