Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
你能给专栏加个“a”吗;变量名";对于Excel VBA中的特定工作表_Vba_Excel - Fatal编程技术网

你能给专栏加个“a”吗;变量名";对于Excel VBA中的特定工作表

你能给专栏加个“a”吗;变量名";对于Excel VBA中的特定工作表,vba,excel,Vba,Excel,好的,我已经读过了: 根据我的理解,我基本上可以将“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页除外 “名称”是否有特定于工作表

好的,我已经读过了:

根据我的理解,我基本上可以将“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"
将导致表1的A列充满粪便,表2的F列充满粪便。也许我太挑剔了,因为我知道我可以键入“Sheet1.Name”和“Sheet2.Name”,因为它们是该对象的名称,但我试图避免这样做,因为我已经在Worksheets()中指定了它,这会使代码更干净

我想我必须把它放在每张工作表的模块中,可能是作为一个私人文件,因为它们都被称为“名称”,但我真的不知道…

代码: 然后:

范围(“PoopRange”)
将始终参考第1页A列


您可以使用
Range(“PoopRange”).Cells(i,1)
循环该列中的每个单元格。

您需要创建一个新的范围对象,然后设置该范围对象。范围可以是一组单元格、一列或一行:

Dim rngCol as Range
Dim rngGroup as Range

Set rngCol = Worksheets("Sheet1").Range("A:A")
Set rngGroup = Worksheets("Sheet1").Range("A1:F100")

rngCol.Value = "Poop"
rngGroup.Value = "Poop"
或者,您可以在设置它们后对其进行迭代:

For each rngCell in rngCol
     rngCell.Value = "Poop"
Next rngCell

它说下标超出范围。。。表1中的名称是否有效?我以它为例,但我并没有真正创建它。很抱歉,我对所有这些都有些陌生,Excel中的VBS等。名称是工作表对象的有效属性。实际上,您可以使用(名称)属性调用工作表对象,如:
Sheet1.Range(…)
只需在编辑器中查看工作表对象的属性中的(Name)参数即可。出于某种原因,工作表(Sheet1)会导致错误13,但会显式命名每个作品。谢谢赞成。。。很抱歉。在你接受答案后,我把它修好了。您可以执行工作表(“Sheet1”)或使用Sheet1.Range(“…”)引用实际工作表(假设名称与引用相同)
For each rngCell in rngCol
     rngCell.Value = "Poop"
Next rngCell