|
お世話になります。
VBA勉強中です。質問させていただきます。
下記フォーマットがあります。
1行目 本体金額 税額 合計金額 入金金額 差額
2行目 60,000 4,800 64,800 64,800 0
3行目 50,000 4,000 54,000
4行目 30,000 2,400 32,400
5行目 50,000 4,000 54,000
6行目 35,000 2,800 37,800
7行目 30,000 2,400 32,400
8行目 25,000 2,000 27,000
9行目 0
10行目 0
タイトル行の列それぞれ結合されています。本体金額(B〜F),税額(G〜J),入金金額(K〜P),差額(U〜W). 税額、入金金額、差額には数式が入っています。
入金金額により差額が0かそうでないかを判断し、2行目から10行目までのフォーマットを崩さずに、0の場合は、行を1行ずつ繰り上げていきます。0でない場合はデータをそのままにしたく、下記コード書きました。
Sub Test5()
Dim i As Integer, j As Integer
j = 1
For i = 2 To 10
If (Range("U" & i).Rows) = 0 Then
Rows(i).ClearContents
End If
If (Range("B" & i).Rows <> "") Then
j = j + 1
Rows(i).Copy Rows(j)
Rows(i) = ""
End If
Next i
End Sub
0の場合はうまくいきますが、差額が0でない場合は、セルの結合が解除されデータが全て消えてしまいます。セルの数式も残したいのですが、可能でしょうか。
いろいろ調べたり、試したりしましたがうまくいきません。
どのように編集すればよいかご教授ください。
|
|