将文件导入当前VBA工作簿
我正在尝试构建一个VBA宏,以允许用户从“文件”对话框中选择一个文件,并将工作表1从该文件导入活动的VBA工作簿,并将该工作表重命名为“导入”。我是新来的,这是我能做的。这允许我打开“文件”对话框并选择一个文件。但它所做的只是打开文件,这并没有多大帮助将文件导入当前VBA工作簿,vba,Vba,我正在尝试构建一个VBA宏,以允许用户从“文件”对话框中选择一个文件,并将工作表1从该文件导入活动的VBA工作簿,并将该工作表重命名为“导入”。我是新来的,这是我能做的。这允许我打开“文件”对话框并选择一个文件。但它所做的只是打开文件,这并没有多大帮助 Sub OpenAFile() Dim fd As FileDialog Dim FileWasChosen As Boolean Set fd = Application.FileDialog(msoFileDialogOpen) fd.
Sub OpenAFile()
Dim fd As FileDialog
Dim FileWasChosen As Boolean
Set fd = Application.FileDialog(msoFileDialogOpen)
fd.Filters.Add "Any Excel Files", "*.xl*"
FileWasChosen = fd.Show
If Not FileWasChosen Then
MsgBox "You didn't select a file"
Exit Sub
End If
fd.Execute
End Sub
你就快到了。这里有一种方法。这有点复杂,我知道还有更巧妙的方法,但它会完成工作
Sub OpenAFile()
Dim fd As FileDialog
Dim FileWasChosen As Boolean
Dim homeWorkbook As Workbook
Set homeWorkbook = ActiveWorkbook
Dim targetBook As Workbook
Dim targetSheet As Worksheet
Application.DisplayAlerts = False
Set fd = Application.FileDialog(msoFileDialogOpen)
fd.Filters.Add "Any Excel Files", "*.xl*"
FileWasChosen = fd.Show
If Not FileWasChosen Then
MsgBox "You didn't select a file"
Exit Sub
End If
fd.Execute
Set targetBook = ActiveWorkbook
Set targetSheet = targetBook.Worksheets(1)
targetSheet.Copy After:=homeWorkbook.Sheets(homeWorkbook.Sheets.Count)
targetBook.Close
Application.DisplayAlerts = True
With homeWorkbook.Sheets(homeWorkbook.Sheets.Count)
.Name = "Import"
End With
End Sub
可能是。。。。