私は 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
の列番号です。H
I
If B.Row > 9 Then Exit For
ループが終了しないという問題があったので、
For Each B In ClientTable.Columns(2).Cells
あなたにとってうまくいくなら、 を取り出すことができますIf B.Row > 9 Then Exit For
。