Excel vba选择所选范围的最后一行的单元格

问题描述:

我有此代码打开第一个工作簿,第二个工作簿,复制第一个工作簿的范围并将其粘贴到第二个工作簿中。我想让它在第二个工作簿中的粘贴范围之后选择单元格,但它选择粘贴的范围+它后面的行,而我只需要在列A中选择第一个空闲单元格。Excel vba选择所选范围的最后一行的单元格

Sub tes() 
     '**VARIABLES** 
     Dim folderPath As String 
     folderPath = "Y:\plan_graphs\final\mich_alco_test\files\" 
     Dim fileTitle As String 
     fileTitle = "5.xlsx" 

     Dim dataWorkbook As Workbook 
     Set dataWorkbook = Application.Workbooks.Open(folderPath & fileTitle) 

     Dim copyRange As Range 
     Set copyRange = dataWorkbook.Worksheets("List").Range("A3:F3", Range("A3").End(xlDown)) 


     Dim resultWorkbook As Workbook 
     Set resultWorkbook = Application.Workbooks.Open("Y:\plan_graphs\final\mich_alco_test\result.xlsx") 

     copyRange.Copy 
     resultWorkbook.Worksheets("1").Range("A3").PasteSpecial Paste:=xlPasteFormulas 

     'GET THE LAST RANGE 
     Dim nextRange As Range 
     Set nextRange = resultWorkbook.Worksheets("1").Range("A3:F3", _ 
     resultWorkbook.Worksheets("1").Range("A3").End(xlDown)).Offset(1, 0) 
     nextRange.Select 
End Sub 

我该怎么做?我想它仍然与xlDown有关,但无法弄清楚什么。

+2

为什么要添加一小时前开启的帖子的准确重复?我给你一个答案在这里:https://*.com/questions/45324117/object-required-error-when-trying-to-get-endxldown-1-row –

+4

可能重复[对象所需的错误,当试图得到结束(xlDown)+ 1行](https://*.com/questions/45324117/object-required-error-when-trying-to-get-endxldown-1-row) –

+0

@ShaiRado其实,这似乎更多像一个后续问题。他似乎在使用'xlDown',但需要电子表格技巧底部的标准'xlUp'。 –

Set nextRange = resultWorkbook.Worksheets("1").Range("A3:F3", _ 
     resultWorkbook.Worksheets("1").Range("A3").End(xlDown)).Offset(1, 0) 
    Set nextRange = resultWorkbook.Worksheets("1").Cells(nextRange.Rows.Count + 3, 1) 

解决了这个问题对我来说(我有没有包括在本次评选3点上的行,所以要谨慎使用确切的数字为您的案件)。

+2

'Set nextRange = nextRange.Cells(nextRange.Rows.Count,1)'更健壮,因为如果稍后决定添加或删除标题行,它将不会失败。像“3”这样的魔术数字有点像红旗。 –

+0

@John Coleman,谢谢,但现在我所有的文件在结构上都非常相似,所以我现在使用这些数字,因为我很担心可能会失败的代码中添加任何新因素(如函数)或给错误。我希望未来的读者能知道用他们的数字取代我的数字。 – Ans