Arrays VBA奇怪的弹出窗口,要求输入文件
我使用下面的循环来运行预定义的工作表,但是如果我将Arrays VBA奇怪的弹出窗口,要求输入文件,arrays,vba,excel,loops,Arrays,Vba,Excel,Loops,我使用下面的循环来运行预定义的工作表,但是如果我将“ABC”作为数组的一部分,我将始终获得一个弹出窗口,就好像我必须输入一个文件一样。如果删除了“ABC”,则不会出现弹出窗口。有人知道原因是什么吗 Dim nTable As Variant nTable = Array("Table 1", "Table 2", "Table 3", "Table 4", "Table 8", _ "Table 11", "Table 12", "Table 13", "ABC") For w = LBo
“ABC”
作为数组的一部分,我将始终获得一个弹出窗口,就好像我必须输入一个文件一样。如果删除了“ABC”
,则不会出现弹出窗口。有人知道原因是什么吗
Dim nTable As Variant
nTable = Array("Table 1", "Table 2", "Table 3", "Table 4", "Table 8", _
"Table 11", "Table 12", "Table 13", "ABC")
For w = LBound(nTable) To UBound(nTable)
With ActiveWorkbook.Worksheets(nTable(w))
'input any statement, I used autofit as an example
.Range("A2:AR1800").Formula = "=IF(ISBLANK('Sheet 1'!A2),"""", 'Sheet 1'!A2)"
.Range("AM2:BK1800").Formula = "=IF('" & .Name & " S'!N2 =""S"", ""S"", """")"
.Range("AT2:AU1800").Formula = "='Sheet 1'!BA2"
.Range("A1:BL1").Columns.AutoFit
End With
Next w
我想可能是这句话:
.Range(“AM2:BK1800”).Formula=“=IF(”&.Name&“S”!N2=“”S“)”
您的所有其他工作表是否命名为表1 S
,表2 S
等。。。但是刚刚命名的ABC
ABC
而不是
ABC S
?我想可能是这一行:
.Range(“AM2:BK1800”).Formula=“=IF(”&.Name&“S”!N2=“”S“)”
您的所有其他工作表是否命名为表1 S
,表2 S
等。。。但是刚刚命名的ABC
ABC
而不是
ABC S
?假设活动工作簿有一个名为工作表1
的工作表,这应该可以
此外,每个循环使用,易于阅读和遵循
Dim nTable As Variant, tbl
nTable = Array("Table 1", "Table 2", "Table 3", "Table 4", "Table 8", _
"Table 11", "Table 12", "Table 13", "ABC")
For Each tbl In nTable
With ActiveWorkbook.Sheets(tbl)
.Range("A2:AR1800").Formula = "=IF(ISBLANK('Sheet 1'!A2),"""", 'Sheet 1'!A2)"
.Range("AM2:BK1800").Formula = "=IF('" & .Name & "'!N2 =""S"", ""S"", """")"
.Range("AT2:AU1800").Formula = "='Sheet 1'!BA2"
.Range("A1:BL1").Columns.AutoFit
End With
Next tbl
假设ActiveWorkbook有一个名为
工作表1
的工作表,这应该可以工作
此外,每个循环使用,易于阅读和遵循
Dim nTable As Variant, tbl
nTable = Array("Table 1", "Table 2", "Table 3", "Table 4", "Table 8", _
"Table 11", "Table 12", "Table 13", "ABC")
For Each tbl In nTable
With ActiveWorkbook.Sheets(tbl)
.Range("A2:AR1800").Formula = "=IF(ISBLANK('Sheet 1'!A2),"""", 'Sheet 1'!A2)"
.Range("AM2:BK1800").Formula = "=IF('" & .Name & "'!N2 =""S"", ""S"", """")"
.Range("AT2:AU1800").Formula = "='Sheet 1'!BA2"
.Range("A1:BL1").Columns.AutoFit
End With
Next tbl
如果你改变,也许在“ABC”表中有代码something@Storax否工作表为空,仅填写页眉。所有图纸均与同一第一行相同。代码只是没有通过“ABC”我说的是sheet@Storax所有工作表都是新创建的,我在创建工作表的有问题的工作表上方有一个代码。因此,没有分配给ABC的模块。这是一个空工作表。当您的公式或查询包含无法解析的引用时,可能会出现“输入弹出窗口”。如果您更改,工作表“ABC”中可能会出现代码something@Storax否工作表为空,仅填写页眉。所有图纸均与同一第一行相同。代码只是没有通过“ABC”我说的是sheet@Storax所有工作表都是新创建的,我在创建工作表的有问题的工作表上方有一个代码。因此,没有分配给ABC的模块。这是一张空表。当您的公式或查询包含无法解析的引用时,可能会出现“输入弹出窗口”。您是一个天才。。我想这可能是问题所在。我刚刚看到这个弹出框几次,我自己编写代码,知道仔细扫描公式中的表名!我知道这不是第一页的参考,因为其他的页都有用,只有ABC页掉了下来…你是个天才。。我想这可能是问题所在。我刚刚看到这个弹出框几次,我自己编写代码,知道仔细扫描公式中的表名!我知道这不是第一页的参考,因为其他的页都有用,只有ABC页掉了下来…谢谢!应该在开始时转换为for循环。谢谢!在开始时应已转换为for循环。