gpt4 book ai didi

VBA 打开任何工作簿

转载 作者:行者123 更新时间:2023-12-04 20:45:23 24 4
gpt4 key购买 nike

我有一个宏,可以从特定文件夹打开电子表格,并将输出保存到另一个工作簿中名为 Sheet1 的工作表中。如果文件名称为“MyFile.xls”,则该宏有效,但我希望它能够在任何文件名上运行,但它必须有一个“Book2”工作表。

这是我的代码:

Dim source As Workbook
Dim output As Workbook
Dim sourceSheet as WorkSheet
Dim outputSheet as WorkSheet
Dim file As String
file = "C:\Spreadsheets\MyFile.xls" 'I would like it to handle any files from any location'

Set output = ThisWorkBook
output.Activate

If Len(Dir$(file)) > 0 Then
Set source = workbooks.Open(file)

Set sourceSheet = source.Worksheets("Book2") 'Must only run if the sheet is called Book2'
Set outputSheet = output.Worksheets("Sheet1") 'Saves sheets into a new sheet called Sheet1'

End Sub

最佳答案

这是你正在尝试的吗? (经过试验和测试)

Sub Sample()
Dim source As Workbook, output As Workbook
Dim sourceSheet As Worksheet, outputSheet As Worksheet

Dim File

'~~> Show a dialog to open any excel file
File = Application.GetOpenFilename("Excel Files (*.xls*), *.xls*")

If File = False Then Exit Sub

Set output = ThisWorkbook

If Len(Dir$(File)) > 0 Then
Set source = Workbooks.Open(File)

'~~> Error check to see if the workbook has that sheet
On Error Resume Next
Set sourceSheet = source.Worksheets("Book2")

If Err.Number = 0 Then

Set outputSheet = output.Worksheets("Sheet1")
'
'~~> Rest of your code
'
Else
MsgBox "Not found"
source.Close SaveChanges:=False
End If
On Error GoTo 0
End If
End Sub

关于VBA 打开任何工作簿,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19210573/

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