Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


35107 / 76732 ←次へ | 前へ→

【46827】Re:合計レコード削除方法を教えて下さい。
発言  へっぽこ  - 07/2/16(金) 15:43 -

引用なし
パスワード
   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

とも書けます。

1 hits

【46825】合計レコード削除方法を教えて下さい。 質問(煮詰まった) 07/2/16(金) 15:20 質問
【46826】Re:合計レコード削除方法を教えて下さい。 Kein 07/2/16(金) 15:40 回答
【46855】Re:合計レコード削除方法を教えて下さい。 質問(煮詰まった) 07/2/19(月) 9:00 お礼
【46827】Re:合計レコード削除方法を教えて下さい。 へっぽこ 07/2/16(金) 15:43 発言

35107 / 76732 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free