好了,我已阅读本:你能给列一个“变量名”为特定工作表在Excel VBA
Can you give columns in Excel a variable name?
,并从我的理解,我基本上可以设置“名称”平等A,这样当我这样做时:
For i = 1 to 100
worksheets(Sheet1).Range(Name & i).Value = "poop"
next i
它将填满单元格A1:A100与便便。
但是,如果我要输入:
worksheets(Sheet2).Range(Name & i).Value = "poop"
它也将填补A1:A100,除了在第2页了。
有没有什么方法的“名称”是工作表特定?例如:
Sheet1.Name = "A"
Sheet1.Name = "F"
For i = 1 to 100
worksheets(Sheet1).Range(Name & i).Value = "poop"
worksheets(Sheet2).Range(Name & i).Value = "poop"
将导致sheet1的A列满了便便,并且sheet 2的列F满了便便。也许我太挑剔了,因为我知道我可以键入“Sheet1.Name”和“Sheet2.Name”,因为它们是该对象的,但我试图避免这种情况,因为我已经在Worksheets中指定它( ),它会使代码更清洁。
我想我不得不把它放在每个表的模块,也许作为一个私人,因为它们都被称为“名”,但我真的不知道......
出于某种原因,工作表(Sheet1)会导致错误13,但明确命名每个作品。谢谢! – Jongscx 2014-10-01 16:48:36
对...很抱歉。我接受了答案后就修复了它。您可以执行Worksheets(“Sheet1”),也可以使用Sheet1.Range(“...”)引用实际工作表(假设名称与参考相同) – JNevill 2014-10-01 16:53:47