将活动工作簿设置为宏的运行来源

时间:2018-08-23 17:43:20

标签: excel vba

用户:Smartini为我提供了一些代码

尽管我想做些小改动,但完全可以按预期工作。宏在工作簿之间复制和粘贴数据,尽管我要从中复制的工作簿每次都会更改,但总是使用随机生成的文件名。

我想将下面的代码保存在“个人宏工作簿”中,并使其运行时将初始工作簿定义为宏的运行来源。

希望我已经很清楚了,期待看到有人能帮助您!

Sub CopyToAnotherWorkbook()

Application.ScreenUpdating = False

Dim wb As Workbook: Set wb = ThisWorkbook
Dim ws As Worksheet: Set ws = wb.ActiveSheet
Dim LastRow_wb%: LastRow_wb = ws.Cells(ws.Rows.Count, 
"A").End(xlUp).Row
Dim arr() As Variant
ReDim arr(0 To LastRow_wb - 1)

For i = 1 To LastRow_wb
    arr(i - 1) = ws.Cells(i, 1)
Next i

Dim wb2 As Workbook: Set wb2 = Workbooks.Open("C:\Book2.xlsx") ' <- 
Paste 
your Link to the Workbook here!

Dim ws2 As Worksheet: Set ws2 = wb2.Sheets(1)
Dim LastRow_wb2%: LastRow_wb2 = ws2.Cells(ws2.Rows.Count, 
"A").End(xlUp).Row + 1

If LastRow_wb2 = 2 Then
    LastRow_wb2 = 1
End If

ws2.Range("A" & LastRow_wb2 & ":A" & LastRow_wb2 + UBound(arr)).Value =         
WorksheetFunction.Transpose(arr)

Application.ScreenUpdating = True
wb2.Close True
Set ws2 = Nothing
Set wb2 = Nothing
Set ws = Nothing
Set wb = Nothing

End Sub

0 个答案:

没有答案