vba查找最后一行并复制上面A列中的所有数据

我一直在搜寻这个圈子,有很多类似于我想要做的,但没有确切的。 我的数据存在列A中,我需要能够find列A中的最后一行,复制上面的所有数据(包括最后一行)并粘贴到新工作簿中的新工作表。 任何帮助将非常感激。

Selects appropriate worksheet - Non-MyPayFINAL Sheets("Non-MyPay FINAL").Select 'Selects all data in column A and copies to clipboard Range("A1", Range("A1").End(xlDown)).Select Selection.Copy 'Add a new workbook Workbooks.Add 'Paste selected values from previous sheet Selection.PasteSpecial Paste:=xlPasteValues 'Build SaveAs file name (for CSV file) MySaveFile = Format(Now(), "DDMMYYYY") & "NonMyPayFINAL" & ".CSV" 'Save template file as...(for CSV file) ActiveWorkbook.SaveAs ("S:\MERIT OUTPUTS FOLDER\MSI Recruitment Limited\" & MySaveFile), FileFormat:=xlCSV 'Build SaveAs file name (for Txt file) MySaveFile = Format(Now(), "DDMMYYYY") & "NonMyPayFINAL" & ".Txt" 'Save template file as...(for Txt file) ActiveWorkbook.SaveAs ("S:\MERIT OUTPUTS FOLDER\MSI Recruitment Limited\" & MySaveFile), FileFormat:=xlTextWindows 

要将整个列A从“CopyFromThisOne”工作表复制到一个新的空工作簿:

 Sub CopyWholeColumnA() Dim wb as Workbook Set wb = Workbooks.Add With ThisWorkbook.Worksheets("CopyFromThisOne") .Range("A:A").Copy wb.Worksheets(1).Range("A1") End with End Sub 

将第1行复制到连续范围中的最后一个占用行到新工作簿中:

 Sub CopyColumnAOccupied() Dim lastrow as integer Dim wb as workbook Set wb = Workbooks.add With ThisWorkbook.Worksheets("CopyFromThisOne") lastrow = .Range("A1").End(xlDown).Row .Range("A1:A" & lastrow).Copy wb.Worksheets(1).Range("A1") End With End Sub 

虽然,基于你的问题(新工作簿中的新工作表),我会说你不需要find任何行,你可以复制整个列。