使用variablesselect多行

我有一个遍历工作表的循环,并跟踪工作,这个家伙被命名为“账单”,然后存储这些行,我想将它们复制到下一张表。

我的问题是“有效”范围(“525:525,504:504,502:502,497:497,496:496,495:495,494:494,493:493,492:492,491:491,478:478,471:4​​71,453:453,450:450,449:449,448:448,447:447,446:446,445:445,444: 444443:443442:442441:441440:440439:439438:438437:437436:436427:427129:129" )select

但是当我使用一个variables来创build行的列表,它不会select行

Dim accountsArray(2, 2) As String accountsArray(1, 0) = "test" accountsArray(1, 1) = "bill" Dim rngCounter As String rngCounter = Chr(34) For i = ActiveSheet.Cells(ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row, 1).Row To 2 Step -1 'save rows with bill If InStr((ActiveSheet.Cells(i, 2).Text), accountsArray(1, 1)) <> 0 Then If Len(rngCounter) < 2 Then rngCounter = rngCounter & i & ":" & i Else rngCounter = rngCounter & "," & i & ":" & i End If Next i rngCounter = rngCounter & Chr(34) 'works 'Range("525:525,504:504,502:502,497:497,496:496,495:495,494:494,493:493,492:492,491:491,478:478,471:471,453:453,450:450,449:449,448:448,447:447,446:446,445:445,444:444,443:443,442:442,441:441,440:440,439:439,438:438,437:437,436:436,427:427,129:129").Select 'does not work Range(rngCounter).Select Selection.Copy Sheets.Add after:=ActiveSheet ActiveSheet.Paste 

当前编写代码的方式可以有效地调用它:

 Range("""525:525,504:504,502:502,497:497,496:496,495:495,494:494,493:493,492:492,491:491,478:478,471:471,453:453,450:450,449:449,448:448,447:447,446:446,445:445,444:444,443:443,442:442,441:441,440:440,439:439,438:438,437:437,436:436,427:427,129:129""").Select 

所以拿出Chr(34) (双引号),你要添加到你的string的开始和结束,它会正常工作。