0

私はマクロに非常に慣れていないので、これはおそらくばかげた質問です。私は検索して検索しましたが、まだ答えを見つけていないので、ここの専門家が私を助けてくれることを願っています:)

私のコードには、特定の特性を検索する広い範囲があります (すべてのセルには、「完了」、「進行中」、または「待機中」のいずれかの値があります)。「進行中」という値が見つかったら、そのセルを使用して、カウンターを使用する小さな範囲を作成したいと思います。ただし、サブ範囲を機能させることはできません:(

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
4

1 に答える 1

1

ここに、必要なアクションのいくつかを実行する簡単なコードがあります。

    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個の要素を処理できますが、それで十分だと思います)。

于 2013-09-22T12:25:48.810 に答える