我正在尝试将数据从一个工作表复制到另一个工作表。我有一个工作簿,其中有大约62个工作表选项卡。
对我来说特别棘手的部分是,数据需要复制到的工作表不会总是相同的。
我有一个下拉菜单,列出了62件不同的设备。这是显示在G1的工作表命名为“主页”。我希望文本复制到正确的标签的基础上的选择。
我想出了如何复制特定的文本,当我这样做时,我看到单词“文本”显示在指定的工作表上。
Sheets(Range("g1").Value).Activate
Range("a1").Value = "TEXT"
我不知道如何将G4:G24从我的“HOME”工作表复制到基于同一下拉菜单的另一个工作表。
这就是我所尝试的。
Private Sub CommandButton1_Click()
Worksheets("HOME").Range("g4:g24").Copy
Sheets(Range("g1").Value).Activate
Range("a1").Value = "TEXT"
Sheets(Range("g1").Value).Activate
Range("f4").PasteSpecial
End Sub
2条答案
按热度按时间h9vpoimq1#
明确工作簿和工作表-在未限定工作表的情况下,切勿使用Range/Cells(尽管如果您引用的是关联的工作表,则可以在工作表代码模块中使用它)。
例如,请参阅:工作表、单元格和区域的默认范围是什么?
sqxo8psd2#
一般来说,你有一个很好的开始,但它可以在更少的行和更快的速度完成,如下图所示:
甚至不需要使用变量
SheetName
,但它可以使事情变得简单,它现在还可以在子例程中重用。引用工作表的另一种方法是将变量设置为工作表: