所以我想要做的就是在Visual Basic VBA for Excel中这样做:
Dim var As String
Dim wsNew as Worksheet
Sheets.Add After:=ActiveSheet
var = Range("A34").Value
Worksheets(wsNew).Cells(1, 2) = var
但在这种情况下行: Worksheets(wsNew).Cells(1, 2) = var
给出错误
运行时错误13,类型不匹配
我不想给新工作表提供字符串名称,因为那时我总是要重命名工作表 . 因此,可以使用变量名称而不是字符串名称来引用VBA中的工作表 .
2 回答
您需要将Worksheet对象分配给变量,然后您可以在代码中直接引用它 . 您还需要明确地引用
Activesheet
,否则代码将无法按预期工作,尤其是在这种情况下 .另外,请注意我如何将
var
更改为myVariable
. CallumDA在你的帖子下面有关命名变量的评论中有一个很好的观点 .这个:
工作就像一个魅力,非常感谢你们所有人 .
只有这个最小的东西是Excel给我的错误:
所以通过改变它:
使它完美地工作 .