如何使用vba代码选择整个工作表
我是vba代码的新手,我正试图弄清楚在将数据放入模板时如何选择整个excel文件。我每天打开一个日常文件,文件名会改变,行数和列数也会改变。自动导入时如何更改代码以选择整个工作表。我使用的代码只选择工作表中的第一行,而不是整个工作表 以下是我的代码:如何使用vba代码选择整个工作表,vba,excel,select,range,Vba,Excel,Select,Range,我是vba代码的新手,我正试图弄清楚在将数据放入模板时如何选择整个excel文件。我每天打开一个日常文件,文件名会改变,行数和列数也会改变。自动导入时如何更改代码以选择整个工作表。我使用的代码只选择工作表中的第一行,而不是整个工作表 以下是我的代码: Sub ImportFile() Application.ScreenUpdating = False Dim parentWorkbook As Excel.Workbook Dim
Sub ImportFile()
Application.ScreenUpdating = False
Dim parentWorkbook As Excel.Workbook
Dim otherWorkbook As Excel.Workbook
Dim workbookName As Variant
Set parentWorkbook = ActiveWorkbook
workbookName = Application.GetOpenFilename("Excel Files (*.xls*), *.xls*")
If Not workbookName = False Then
Set otherWorkbook = Workbooks.Open(workbookName)
parentWorkbook.Sheets(2).Range("A2:AR2").Value = otherWorkbook.Sheets(1).Range("A2:AR2").Value
otherWorkbook.Close False
Set otherWorkbook = Nothing
End If
Application.ScreenUpdating = True
End Sub
在进行实际选择之前,请尝试激活工作表。比如:
Sub SelectSingleSheet()
Sheets("Sheet1").activate
Sheets("Sheet1").Select //where 'Sheet1' is name of sheet
End Sub
你能说
parentWorkbook.Sheets(2).Range("A1").Resize(otherWorkbook.Sheets(1).UsedRange.Rows.Count, otherWorkbook.Sheets(1).UsedRange.Columns.Count).Value = otherWorkbook.Sheets(1).UsedRange.Value
为什么不将其他工作簿。工作表(1)复制到第一个工作簿中?无需激活。选择对象来处理它是一种不好的做法。