使用变量引用工作簿

时间:2016-12-15 18:29:25

标签: excel vba excel-vba

您好我正在使用一个工作簿,它将根据其中包含的信息帮助将更多信息移动到不同的工作簿中。更清楚:

这是代码:

Sub FEID01()

Dim D, M, A As Variant

D = Workbooks("FE-ID-01").Sheets("FE-ID-01").Range("C2")
M = Workbooks("FE-ID-01").Sheets("FE-ID-01").Range("D2")
A = Workbooks("FE-ID-01").Sheets("FE-ID-01").Range("E2")

Workbooks("FE-ID-01").Activate
Workbooks("FE-ID-01").Sheets("FE-ID-01").Range("C2:E2").Select
Selection.Copy
Workbooks(A).Activate
Workbooks(A).Sheets(M).Range("C2").PasteSpecial
Application.CutCopyMode = False

End Sub

变量D,M和A收集来自特定单元格的信息,然后根据它的信息,我复制并粘贴一系列单元格。

我正在使用变量A中的信息来选择要传输信息的工作簿,但它不起作用。有没有办法做到这一点,所以当A的值发生变化时,信息会被重定向到不同的工作簿?

我希望自己足够清楚。

1 个答案:

答案 0 :(得分:0)

在变量中明确声明工作簿和工作表。这很有用,并且在代码中多次引用它。

Dim wb as Workbook
Dim ws as Worksheet
Dim rngCopy as Range
Dim rngPaste as Range

Set wb = Application.Workbooks("FE-ID-01.xlsm")
Set ws = wb.Sheets("FE-ID-01.xlsm")
Set rngCopy = ws.Range("C2:E2")
Set rngPaste = ws.Range("C2:E2")
wb.Activate

您的样本数据令人困惑,因为您正在复制和粘贴相同的工作表/范围,因此请在投入使用前正确更正。的问候,