|    | 
     Rows("rmax:remax").Select 
は変かも。 
(ちなみに片方は「e」が付いているのはなんでしょ?) 
 
例えば以下のような実験をするとどう書けば良いか分かるかと。 
 
Sub サンプル1() 
  Dim Rmax As Long 
   
  Rmax = 1234 
   
  MsgBox "最初の書き方" 
  MsgBox "Rmax:Rmax" 
   
  MsgBox "次の書き方" 
  MsgBox Rmax & ":" & Rmax 
End Sub 
 
なので書くならこう。 
Rows(rmax & ":" & rmax).Select 
 
あと標準モジュールなら指定なしでRange("〜")とすればアクティブシートを 
指すのでWith Application.ActiveSheet 〜 End Withも要らないかと。 
 
Rows("rmax:remax").Select 
Selection.Delete Shift:=xlUp 
 
これも、以下の2組は… 
 
範囲.Select 
Selection.なんとか 
 
たいてい「範囲.なんとか」という1行にまとめられるので 
 
Rows("rmax:remax").Delete Shift:=xlUp 
 
こう書くことができます。 
("〜"の中の書き方は変なままにしてありますが) 
 
> その取得数+2行目を削除したいのです。 
 
とのことなので… 
 
Sub サンプル2() 
  Dim Rmax As Long 
   
  Rmax = Range("D10000").End(xlUp).Row 
 
  Rows(Rmax & ":" & Rmax + 1).Delete Shift:=xlUp 
End Sub 
 
と書くことができます。 
 
他にもResizeを使って、 
 
Sub サンプル3() 
  Dim Rmax As Long 
   
  Rmax = Range("D10000").End(xlUp).Row 
 
  Rows(Rmax).Resize(2).Delete Shift:=xlUp 
End Sub 
 
とも書けます。 
 | 
     
    
   |