VBAのプログラムでうまく動かなくて困っています。
VBA初心者です。
エクセルのVBAのプログラムでうまく動かなくて困っています。教えていただける方がいらしたら、ぜひ教えて下さい!よろしくお願いします。エクセルの内容は以下のとおりです。
(内容)
セル
E H J L N P R・・・
8行目100 200 50 40 30 80
9行目130 350 10 50 60 120 110
・
・
(1)列Hの値が列Eの値より大きい場合その下に行を追加します。
(2)セルJ+セルL+セルN+・・をしてセルEの値を超えたセル以降の値を追加した行のセルJ列から順にコピペする処理です。
上のセルの1行目の内容でいいますと、
(1)列Hの値「200」が列Eの値「100」より大きいのでその下に行追加
(2)セルJ、L、N「50」+「40」+「30」でセルEの値「100」より大きいので、追加した行のセルJ列にセルN、Pの値をコピペするです。
以下が私が書いたプログラムです。
Sub test()
Dim x As Integer
Dim s As Integer
Dim t As Integer
x = Range("B8").End(xlDown).Row
r = Range("J8").End(xlToRight).Column
'8行目から最終行までループ
For i = x To 9 Step -1
If Cells(i, 5) < Cells(i, 8) Then
☆【For r = y To 11 Step -2
Cells(s, t).Value = Cells(i, r) + Cells(i, r + 2)
If Cells(i, 5).Value < Cells(s, t).Value Then Exit For
Next】
Rows(i + 1).Insert Shift:=xlDown
'超えたセルをコピーして、1行下の"J列以降"に代入
★
x = x + 1
End If
Next i
End Sub
上記プログラムで★の部分がうまく書けません。☆の部分も間違っているような気がします。よろしくお願いします。
お礼
>hor様 無事成功いたしました。ありがとうございます。