Excel 无法识别下标超出范围错误的起始位置
每当尝试使用带有参数的子例程选择变量范围时,我也会收到错误9下标超出范围。如果删除ThisWorkBook.WorksheetsSheets1,则会收到一个全局错误 我尝试过使用不同的例程,比如Cellsx、yExcel 无法识别下标超出范围错误的起始位置,excel,vba,select,range,Excel,Vba,Select,Range,每当尝试使用带有参数的子例程选择变量范围时,我也会收到错误9下标超出范围。如果删除ThisWorkBook.WorksheetsSheets1,则会收到一个全局错误 我尝试过使用不同的例程,比如Cellsx、y Sub Trail() Call SelectRow(2) End Sub Sub SelectRow(i As String) Dim theAddressA As String Dim theAddressL As String theAddr
Sub Trail()
Call SelectRow(2)
End Sub
Sub SelectRow(i As String)
Dim theAddressA As String
Dim theAddressL As String
theAddressA = "A" & i
theAddressL = "L" & i
MsgBox (theAddressA) 'Prints "A2".
MsgBox (theAddressL) 'Prints "L2".
ThisWorkbook.Worksheets("Sheet1").Range("theAddressA:theAddressL").Select
End Sub
我希望能够根据变量输入选择行,如带有参数的子例程所示。最终,一旦我能做到这一点,我想将单独的行与另一个表进行比较,然后确定差异和相似之处。
不要将变量括在引号中。。。它们不是文本字符串。相反,像这样连接它们
ThisWorkbook.Worksheets("Sheet1").Range(theAddressA & ":" & theAddressL).Select
我错误地引用了工作表的名称,我认为图像中显示的名称Sheet1将是VBA引用的名称。但是,应该引用已分配的实际名称。谢谢大家
谢谢你,布拉克斯。然而,我已经尝试过了,但是我仍然得到了相同的9下标错误。MsgBox theaddress&:&theaddress给了你什么?是否有一张名为Sheet1或Sheet1的工作表?'code'MsgBox theaddress a&:&theaddress l给出A2:L2。该表被称为Sheet1,更具体地说是受亚太卡车流行音乐的影响,将其从Sheet1更改为此解决了我的问题!谢谢你,布拉克斯!通常你不需要选择,也许应该避免。有关详细信息,请参阅。工作簿中是否有名为Sheet1的工作表?此外-工作表必须处于活动状态才能选择其上的单元格-但如前所述,您可能根本不需要选择。它被专门称为受影响的亚太卡车Pop,我认为工作表名称应为Sheet1,如属性中所示,而我在excel工作簿中指定的名称将不会被引用。但是,将其更改为我指定的名称解决了我的问题。谢谢Ben,我也会查看链接以避免使用Select。非常感谢。这是代号。它与实际图纸名称不同。要使用它,请执行Sheet1.RangetheAddressA&:&theAddressL.Select。但是没问题,很高兴编码。如果您想按索引处理工作表,您可以这样做:ThisWorkbook.Worksheets1Name是VBA对象的名称,只能在VBA编辑器中更改。名称是显示在图纸选项卡上的标签。而不是ThisWorkbook.Worksheets影响亚太地区卡车Pop.Range。。。您可以使用Sheet1.Range。。。。