粘贴到第一个可用单元格中

我正在尝试创build一个代码,允许我粘贴选定范围的数据,并将其粘贴到Book2中的A列的第一个空白单元格中,从A1开始。 这是我到目前为止:

Sub Macro 1 () Range(Selection, Selection.End(xlToRight)).Select Range(Selection, Selection.End(xlDown)).Select Selection.Copy Windows("Book2.xlsm").Activate **CurrentRow = Range("A1").End(xlDown).Offset(1, 0).Row** ActiveSheet.Paste End Sub 

我相信问题是星号(**),有人可以帮我改写这行/代码,这样复制的数据可以粘贴到A1的第一个可用单元格中吗? (因为我已经在图表的下方填充了单元格,所以不起作用)。 现在代码粘贴在任何单元格中的数据:(

谢谢大家的帮助。

试试这个:

 Dim book2 As Excel.Window Range(Selection, Selection.End(xlToRight)).Select Range(Selection, Selection.End(xlDown)).Select Selection.Copy Workbooks("Book2").Activate Range("A1").Select Selection.End(xlDown).Select ActiveCell.Offset(1, 0).Range("A1").Select ActiveSheet.Paste 

您可以更直接地使用范围(没有Select ),如下所示:

 Sub Better() Dim Wb As Workbook Dim rng1 As Range Dim rng2 As Range Set rng1 = Range(ActiveCell, ActiveCell.End(xlToRight)) Set rng1 = Range(rng1, rng1.End(xlDown)) On Error Resume Next Set Wb = Workbooks("book2.xlsm") On Error GoTo 0 If Wb Is Nothing Then Exit Sub Set rng2 = Wb.Sheets(1).Columns(1).Find("*", Wb.Sheets(1).[a1], , , xlByRows, xlPrevious) If rng2 Is Nothing Then Set rng2 = Wb.Sheets(1).[a1] rng1.Copy rng2.Offset(1, 0) End Sub