Excel の VBA を使用してこの関数を実行するにはどうすればよいですか?

Excel の VBA を使用してこの関数を実行するにはどうすればよいですか?

私は VBA でこの関数を取得しようとしていますが、初心者です。どうすればこれが実現できるのか分かりません。

私がやろうとしているのは、数値である列 B の各セルについて、列 H の次の 2 つのセル (つまり、B7 の場合) を取得して、H8 と H9 (H 列の次の 2 つの行の値) を取得し、それらを連結 (文字列) して I7 (B7 と同じ行) に保存し、最後に H8 と H9 の値を削除することです。

これが私の到達点です。大したことではないことはわかっています。

Private Sub CommandButton1_Click()
Dim B As Range, H As Range, I As Range
For Each B In ClientTable.Columns(2).Cells
    If IsNumeric(B) Then
    (What should be done here?)    
    End If
Next B
End Sub

答え1

空白セルの場合に当てはまることがわかったのでIsNumeric(B)Ifそれに応じてステートメントを変更しました。これでうまくいきました:

    If IsNumeric(B) And B <> "" Then
        Cells(B.Row, 9) = Cells(B.Row + 1, 8) & Cells(B.Row + 2, 8)
        Cells(B.Row + 1, 8) = ""
        Cells(B.Row + 2, 8) = ""
    End If
    If B.Row > 9 Then Exit For

明らかに8、と はそれぞれと9の列番号です。HI

If B.Row > 9 Then Exit For

ループが終了しないという問題があったので、

For Each B In ClientTable.Columns(2).Cells

あなたにとってうまくいくなら、 を取り出すことができますIf B.Row > 9 Then Exit For

関連情報