2013-09-22 2 views
0

매크로에 새롭습니다. 따라서 이것은 아마도 바보 같은 질문 일 수 있습니다. 나는 수색하고, 찾았고, 아직 대답을 찾지 못했다. 그래서 나는 여기의 전문가가 나를 도울 것이기를 바란다.Excel VBA : 범위의 셀 인덱스가 포함 된 변수 사용

나는 내 자신의 코드에서 내가 가진 특정 범위 (모든 세포는 "완료", "진행 중"또는 "대기 중"값). 내가 "진행"값을 찾을 때, 나는 내가있는 카운터를 사용하는 것, 더 작은 범위를 만들려면 해당 셀을 사용하고 싶습니다. 나는, 그러나, 여기 부분 범위 작업 :(

Dim range1 As Range 

For Each cell In Sheet2.Range("A5:Y5") 
    If cell.Value = "Ongoing" Then Set range1 = Cells(cell.Row, cell.Column) 
Next cell 

i = 0 

For Each cell In Sheet2.Range("A5:range1") 
    If cell.Value = "Done" Then 
     i = i + 1 
    End If 
Next cell 
+0

범위를 잘못 사용하고 있습니다. 어떤 경우에도이 코드를 사용하여 의도 한 것은 범위를 올바르게 설정 한 경우에도 원하는 것을 출력하지 않습니다. 값이 '진행중'인 ​​모든 셀 (즉, 셀의 전체 콘텐츠가 '진행중'이 됨)에 의해 형성된 더 작은 범위 (range1)를 정의하려고합니다. 이 범위를 반복하여 값이 다른 단어 ("완료") 인 셀을 찾고, 항상 동일한 결과를 출력합니다 (모든 셀이 "진행 중"인 경우에만 일치하는 항목이 하나도 발견되지 않음). . 성취하고자하는 것을 분명히 기술하십시오. – varocarbas

+0

약 20 개의 작업이 시간 순서대로 실행됩니다. 실행 된 모든 작업에는 수동으로 "완료"라는 레이블이 붙습니다. 하나의 작업에는 "진행중"이라고 표시되고 이후 작업에는 "대기 중"이라는 메시지가 표시됩니다. 내가 관심을 갖는 것은 우리가 어떤 업무를 수행했는지를 아는 것입니다. 그것이 다른 코드에 대한 정보가 필요하기 때문에 "진행중인"작업을 얼마나 많이 수행했는지는 많은 작업입니다. 나는 어떤 세포가 "진행중"을 포함하는지에 대한 정보를 찾아 카운터를 사용하여 첫 번째 과제와 진행중인 과제 사이에 얼마나 많은 세포가 있는지 파악함으로써 그렇게 할 수 있습니다. –

+0

Excel에 "클래식"목록 기능이 있습니까? 파이썬에서 내가 좋아하는 아이템을 추가하고 제거 할 수있는 곳? –

답변

0

을 할 수 없습니다 당신 간단한 코드가 일부 작업을 수행하는 당신이 원하는 :

Dim rangeToSearch As Range 
    Dim doneCount As Integer, onGoingCount As Integer, onGoingDones(50) As Integer 
    Set rangeToSearch = Sheet2.Range("A5:Y5") 

    doneCount = 0 
    onGoingCount = 0 
    For Each cell In rangeToSearch 
     If (Not IsEmpty(cell)) Then 
      If LCase(cell.Value) = "done" Then 
       doneCount = doneCount + 1 
      ElseIf LCase(cell.Value) = "ongoing" Then 
       onGoingCount = onGoingCount + 1 
       onGoingDones(onGoingCount) = doneCount 
       doneCount = 0 
      End If 
     End If 
    Next cell 

그것은 onGoingDones 배열 (에 "진행"세포 및 보관 사이에 "완료"(중요하지 않습니다 캡)의 수를 계산, 그것은 단지 수 50 개까지 요소를 다루지 만 충분하지는 않습니다.)

+0

고마워요 :) 지금 일하고 있어요 –

+0

@EsbenEickhardt 안녕하세요. – varocarbas