excel - 使用变量复制并粘贴到目标?

标签 excel vba

我对这方面的语法感到困惑。我已经搜索并尝试了大概 20 种不同的方法来写这个。如何修复我的语法或副本目标上的任何问题?这是代码:

Dim wksMain As Worksheet, wksStats As Worksheet, i As Long, x As Integer

Set wksMain = Sheets("Main")
Set wksStats = Sheets("Stats")

For x = 1 To 3
   i = 100000000

   wksMain.Range("C3") = i * x
   wksMain.Range("C4") = i * x + i

   wksMain.Calculate

   wksStats.Cells(1, x + 1).Value = wksMain.Cells(8, 4).Value

   wksMain.Range(Cells(16, 6), Cells(37, 6)).Copy _
   Destination:=wksStats.Range(Cells(2, x + 1), Cells(24, x + 1))
Next x

来自评论

我收到的错误是运行时错误'1004'对象'_Worksheet'失败'的方法'Range'

最佳答案

您没有提到您遇到了什么错误以及在哪一行,但我可以看到一个问题

wksMain.Range(Cells(16, 6), Cells(37, 6)).Copy _
Destination:=wksStats.Range(Cells(2, x + 1), Cells(24, x + 1))

那是因为您没有完全限定您的单元格对象。

试试这个(未经测试)

wksMain.Range(wksMain.Cells(16, 6), wksMain.Cells(37, 6)).Copy Destination:= _
wksStats.Range(wksStats.Cells(2, x + 1), wksStats.Cells(24, x + 1))

如果您没有限定单元格对象,那么它们将始终引用事件工作表。

关于excel - 使用变量复制并粘贴到目标?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31194730/

相关文章:

javascript - 需要帮助将 vba excel 函数输出为日期值

c++ - 如何使用odbc通过c++将excel文件导入到mysql表中?

c# - vba/excel/c#将WorkSheet分割成多个文件的解决方法#

vba - 在 VBA 中,所有变量都以变体类型开始吗

vba - Excel 2013 VBA Web Query 连接字符串包含变量

新应用程序对象的 Excel VBA 自动化错误

vba - VBA 中的 IFDEF 等效项

vba - 退出for循环太快vba

sql-server - 请求的操作需要 OLE DB Session 对象... - 通过 ADO 将 Excel 连接到 SQL 服务器

vba - 在 Outlook 邮件内容上捕获右键单击的文本