Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用vba代码选择整个工作表_Vba_Excel_Select_Range - Fatal编程技术网

如何使用vba代码选择整个工作表

如何使用vba代码选择整个工作表,vba,excel,select,range,Vba,Excel,Select,Range,我是vba代码的新手,我正试图弄清楚在将数据放入模板时如何选择整个excel文件。我每天打开一个日常文件,文件名会改变,行数和列数也会改变。自动导入时如何更改代码以选择整个工作表。我使用的代码只选择工作表中的第一行,而不是整个工作表 以下是我的代码: Sub ImportFile() Application.ScreenUpdating = False Dim parentWorkbook As Excel.Workbook Dim

我是vba代码的新手,我正试图弄清楚在将数据放入模板时如何选择整个excel文件。我每天打开一个日常文件,文件名会改变,行数和列数也会改变。自动导入时如何更改代码以选择整个工作表。我使用的代码只选择工作表中的第一行,而不是整个工作表

以下是我的代码:

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)复制到第一个工作簿中?无需激活。选择对象来处理它是一种不好的做法。