所以我想做的是在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 中的工作表。
您需要将工作表对象分配给一个变量,然后您可以在代码中直接引用它。您还需要显式引用Activesheet
,否则代码将无法按预期工作,尤其是在这种情况下。
Dim wsCurr as Worksheet
Set wsCurr = Worksheets("mySheet") 'change as needed (I avoid ActiveSheet whenever possible)
Dim myVariable As String
myVariable = wsCurr.Range("A34").Value
Dim wsNew as Worksheet
Set wsNew = Sheets.Add(After:=wsCurr)
wsNew.Cells(1, 2) = myVariable
另外,请注意我如何更改var
为myVariable
. CallumDA 在您关于命名变量的帖子下方的评论中有一个很好的观点。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句