| 
    
     |  | こんにちは。かみちゃん です。 
 まだご覧になっておられますでしょうか?
 kanabunさんのアドバイスが続いていますので、私の出番はもうなさそうですが、
 
 >> If strTrimedTekiyo = "合計" Then
 >>の行番号は、
 >>変数lngRowなのではないでしょうか?
 >私もそういう受け取り方をしています。
 >
 >しかしながら、
 >> Rows(lngRow + 1).Insert Shift:=xlDown
 >を挿入しましたが、行挿入はできませんでした。
 >何も変わらずでした。
 >手を加えたりしたのですが、行挿入どころか「合計」が
 >消えてしまったり、行挿入はできなかったりという状況です。
 >
 >> For lngRow = lngMaxRow To 31 Step -1
 >>として、下方向から繰り返し処理したほうがいいと思います。
 >下方向からの繰り返しという処理はわかったのですが、この処理を
 >するとCSVファイルから逆(最下部)から拾ってくるのではない
 >でしょうか?
 >現に実行してみたら、CSVファイルの最下部がマクロが入っている
 >シートの最上部に現れ、逆方向に挿入されていました。
 
 CSVファイルの内容がよくわからないので、具体的なアドバイスが難しいのですが、
 [61961]で提示したコードは、以下のようなシートレイアウトで実行すると、
 きちんと「合計」の次の行に挿入されます。
 新規ブックで一度ご確認いただいたほうがいいかもしれません。
 
 A  B
 1 あ
 2 い
 3 う
 4 合計
 5 え
 6 お
 7 か
 8 き
 9 合計
 10 く
 11
 
 Sub Sample2()
 Dim lngRow As Long
 Dim lngRowMax As Long
 
 lngRowMax = Range("A" & Rows.Count).End(xlUp).Row
 For lngRow = lngRowMax To 1 Step -1
 If Cells(lngRow, 1).Value = "合計" Then
 Rows(lngRow + 1).Insert Shift:=xlDown
 End If
 Next
 End Sub
 
 |  |