2014-05-14 2 views
0

워크 시트를 통과하고 "bill"이라는 이름의 작업을 추적하는 루프가 있으며 그 행을 암기하고 다음 시트로 복사하려고합니다. 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 가 범위 ('525' 작동 '고변수를 사용하여 여러 행 선택

내 문제는 : 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 ")

을 선택하지만 난 행의 목록을 작성하기 위해 변수를 사용하는 경우, 그것은 나던. 행 당신이 효과적으로를 호출하고있는 코드가 현재 기록

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 

답변

2

방법을 선택

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) (큰 따옴표)을 제거하면 정상적으로 작동합니다.

+0

너는 남자 야 !!!!! 완벽하게 일했다. – Val