将VBA信息从一个已经打开的数据表复制到另一位置的另一数据表

时间:2019-02-25 08:14:48

标签: vba copy

我想从工作表名称MasterData复制日期,该日期包含来自其他位置名称数据库的文件工作表中的宏。最后,我想从MasterData工作表中清除信息并关闭工作表数据库。 我在代码下运行,但是什么也没有发生。 请指教? 我对运行VBA代码有点陌生... 谢谢。 玛丽

 Sub Copy_Paste_Below_Last_Cell()


Dim wsCopy As Worksheet
Dim wsDest As Worksheet
Dim lCopyLastRow As Long
Dim lDestLastRow As Long

  Workbooks.Open Filename:="D:\VBA\Test1\Prices_Database_ For_ Volume.xlsx"
  'Set variables for copy and destination sheets
  Set wsCopy = Workbooks("MacroMaster file.xlsm").Sheets("MasterData")
  Set wsDest = Workbooks("Prices_Database_ For_ Volume.xlsx").Sheets ("DataBase")

    lCopyLastRow = wsCopy.Cells(wsCopy.Rows.Count, "A").End(xlUp).Row

    'Offset property moves down 1 row

lDestLastRow = wsDest.Cells(wsDest.Rows.Count,“ A”)。End(xlUp).Offset(1).Row

      wsCopy.Range("A2:AB100" & lCopyLastRow).Copy _
    wsDest.Range("A" & lDestLastRow)
    'Workbooks("Prices_Database_ For_ Volume.xlsx").Close SaveChanges:=True
   'Workbooks("MacroMaster file.xlsm").Worksheets("MasterData").Range ("A2:AB100").ClearContents
End Sub

希望现在更好了

1 个答案:

答案 0 :(得分:0)

这是对代码的修改,其中没有所有变量。它将最后一行合并到每个范围中。

Workbooks.Open Filename:="D:\VBA\Test1\Prices_Database_ For_ Volume.xlsx"

With ThisWorkbook.Sheets("MasterData")
    Range("A2:AB" & Cells(Rows.Count, "A").End(xlUp).Row).Copy _
    Destination:=Workbooks("Prices_Database_ For_ Volume.xlsx").Sheets("DataBase").Range("A" & Rows.Count).End(xlUp).Offset(1)
End With