|
▼mori さん:
横から失礼します。
>手を加えたりしたのですが、行挿入どころか「合計」が
>消えてしまったり、行挿入はできなかったりという状況です。
>
>> For lngRow = lngMaxRow To 31 Step -1
>>として、下方向から繰り返し処理したほうがいいと思います。
>下方向からの繰り返しという処理はわかったのですが、この処理を
>するとCSVファイルから逆(最下部)から拾ってくるのではない
>でしょうか?
そういうことでしたら、
整数変数をひとつ追加して、それに 行を挿入するとき 1 を代入するようにして
ループの終わりで lngPresentRowIndex を+1するところに、さらに行挿入の
とき+1するようにコードを 追加したらどうでしょう?
Dim InsertLine As Long '◆ 追加
> lngPresentRowIndex = 4
> For lngRow = 31 To lngMaxRow
(途中省略)
InsertLine = 0 '◆ 追加
> If strTrimedTekiyo = "合計" Then
> .Cells(lngPresentRowIndex, 2).Value = strTekiyo
> .Cells(lngPresentRowIndex, 6).Value = strKingaku
InsertLine = 1 '◆ 追加
> ElseIf strTrimedTekiyo = "値引" Then
> .Cells(lngPresentRowIndex, 2).Value = strTekiyo
> .Cells(lngPresentRowIndex, 6).Value = strKingaku
> Else
> .Cells(lngPresentRowIndex, 2).Value = strTekiyo
> .Cells(lngPresentRowIndex, 3).Value = strSuryo
> .Cells(lngPresentRowIndex, 4).Value = strTani
> End If
lngPresentRowIndex = lngPresentRowIndex + 1 + InsertLine
'インデックスを加算 ◆変更
> Next
試してないのですが。。
|
|