无法确定下标超出范围错误的起源

时间:2019-08-21 00:39:13

标签: excel vba select range

每当尝试使用带有参数的子例程选择可变范围时,我还将收到错误9下标超出范围。如果删除“ ThisWorkBook.Worksheets(“ Sheet1”)“,则会收到Gobal错误。

我尝试使用不同的例程,例如Cells(x,y)

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

我希望能够基于变量输入来选择行,如带有参数形参的子例程所示。最终,一旦我能够做到这一点,我想将单独的行与另一个表进行比较,然后确定差异和相似之处。 Debug display image

2 个答案:

答案 0 :(得分:1)

不要将变量放在引号中……它们不是文字字符串。而是像这样将它们串联起来。

<Form.Check 
  type={'checkbox'}
  id={person.id}
  label={person.firstname}
  checked={this.state.peopleChecked.some(({ id, firstname }) => (id === person.id && firstname === person.firstname))}
/>

答案 1 :(得分:0)

我错误地引用了工作表的名称,我认为图像中显示的名称Sheet1将是VBA引用的名称。但是,应该参考已分配的实际名称。谢谢大家

Name should be referenced not (Name)