|    | 
     こんにちは。かみちゃん です。 
 
まだご覧になっておられますでしょうか? 
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 
 
 | 
     
    
   |