0

最近、セルの値をその下のすべてのセルにコピーし、列 A が空白のセルになったときに停止する方法について質問がありました。 役職

私が作業しているExcelシートには、シートを下にスクロールすると、行全体に色が塗りつぶされてカテゴリを分離する多くの仕切り行があります。マクロが列 A の空白セルをチェックするときに、列 A のこれらの区切り行をスキップできるようにしたいと思います。または、書式設定/色/値がない最初のセルに StopRow を割り当てたいだけです。

これが私が持っているものです。今日の Ripster のおかげですが、彼が思いついたものに適切な if then ステートメントを組み込むことができませんでした。

 Sub Example()
    Dim MasterValue As String
    Dim StopRow As Long
    Dim i As Long

    'Get the master value
    MasterValue = Range("C5").Value

    'Get the first blank cell in column A
    StopRow = Range("A1").End(xlDown).Row

    'Start at row 6 and continue to the "Stop Row"
    For i = 6 To StopRow
        'Set every cell from row 6 in column 3 to the "Master Value"
        Cells(i, 3).Value = MasterValue
    Next
End Sub

助けてください。 IE

ありがとう

4

2 に答える 2

2

これにはしばらく時間がかかりましたが、問題の解決策が見つかりました;)

マクロが別の色のセルに移動した場合 - チェックして何もしない場合、次の "i" が取得されます。これはあなたが望むことをするはずです。もっと色を追加することは可能です;)

色へのリンク - http://dmcritchie.mvps.org/excel/colors.htm

Sub Example()

For i = 6 To 1200
    If Cells(i, 3).Interior.ColorIndex = 1 Then 'here is color black

    Else
        If IsEmpty(Cells(i, 1)) = True Then 'if cells in column "A" is empty then stop
            Exit For

        Else
        Cells(i, 3).Value = Range("C5").Value
        End If

   End If

Next i

サブ終了

于 2013-07-25T11:54:59.107 に答える