Excel VBA質問箱 IV

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

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


11335 / 13646 ツリー ←次へ | 前へ→

【16507】空白セルの削除 けい 04/7/30(金) 15:21 質問[未読]
【16511】Re:空白セルの削除 IROC 04/7/30(金) 16:37 回答[未読]
【16512】Re:空白セルの削除 Jaka 04/7/30(金) 16:44 回答[未読]
【16616】Re:空白セルの削除 けい 04/8/4(水) 9:52 質問[未読]
【16650】Re:空白セルの削除 Jaka 04/8/5(木) 9:43 回答[未読]
【16674】後一歩! けい 04/8/5(木) 15:54 質問[未読]
【16676】Re:後一歩! Jaka 04/8/5(木) 16:03 回答[未読]

【16507】空白セルの削除
質問  けい  - 04/7/30(金) 15:21 -

引用なし
パスワード
   VBAを利用して不要な行を削除したいと思っています。
その行はオートフィルタで抽出された行なのですが、
シートによって毎回その量も場所も変わります。

Rows("802:1421").Select

のようにセルを特定するのではなく、抽出した行を削除するには
どうすればよいのでしょうか?
ちなみにその不要な行は毎回量も開始場所も違いますが、
800行以下全部とか1250行以下全部のように、データの下方に固まっています。

【16511】Re:空白セルの削除
回答  IROC  - 04/7/30(金) 16:37 -

引用なし
パスワード
   タイトルと説明の関連が分からないのですが・・?

【16512】Re:空白セルの削除
回答  Jaka  - 04/7/30(金) 16:44 -

引用なし
パスワード
   こんにちは。
ここの[#12362}のCopyを
.Rows.Delete か、
.EntireRow.Delete と、すれば良いと思います。

【16616】Re:空白セルの削除
質問  けい  - 04/8/4(水) 9:52 -

引用なし
パスワード
    Selection.AutoFilter
 Selection.AutoFilter Field:=1, Criteria1:="="
 Rows("802:1421").Select
 Selection.Delete Shift:=xlUp
 Selection.AutoFilter

早速のご回答にも関わらず、閲覧が遅くなり申し訳ありません。
[#12362]を拝見しまして、確かに近い感じはしますが、
上記の通り、前文の書き出しがWithではないので

>.Rows.Delete か、
>.EntireRow.Delete と、すれば良いと思います。

この構文をこのまま使用することが出来ません。
申し訳ありませんが、他のやり方を教えていただけないでしょうか?
かなりな初心者で本当にごめんなさい。

【16650】Re:空白セルの削除
回答  Jaka  - 04/8/5(木) 9:43 -

引用なし
パスワード
   >上記の通り、前文の書き出しがWithではないので
>この構文をこのまま使用することが出来ません。

??私のは、With使ってませんけど..。
こうなってました。
>>Range("a1:c5").AutoFilter field:=1, Criteria1:=りんご
>>Range("a2:c5").SpecialCells(xlCellTypeVisible).Copy

で、
Selection.AutoFilter  ←いらない
Selection.AutoFilter Field:=1, Criteria1:="="
 ↑ 
Selectionをフィルタする列の見出から最後の行までを範囲とする。
ちょっと私が書いたのと、範囲が変わりますが、C列をフィルタするとして、

Range("C" & 見出し行 & ":C" & C列最後の行).AutoFilter Field:=1, Criteria1:="="


>Rows("802:1421").Select
>Selection.Delete Shift:=xlUp
  ↓
Range("C" & 見出し行の下のデータ始まり行 &":C" & C列最後の行).SpecialCells(xlCellTypeVisible).Rows.Delete

>Selection.AutoFilter
解除は、この方が良いです。
Sheets("シート名").AutoFilterMode = False

削除のアラートを出したくなければ、削除する前に
Application.DisplayAlerts = False

Trueに戻すのを忘れずに...。

【16674】後一歩!
質問  けい  - 04/8/5(木) 15:54 -

引用なし
パスワード
   Jakaさんアドバイスありがとうございます。
なんとか空白セルを削除できそうです。
が、空白セルを削除する際に、一緒に見出し行も削除されてしまいます。
なんででしょうか?質問の嵐で申し訳ありません。

【16676】Re:後一歩!
回答  Jaka  - 04/8/5(木) 16:03 -

引用なし
パスワード
   ▼けい さん:
>なんとか空白セルを削除できそうです。
>が、空白セルを削除する際に、一緒に見出し行も削除されてしまいます。
>なんででしょうか?質問の嵐で申し訳ありません。

こうしてます?
Range("C" & 見出し行の下、つまりデータの始まる行 &":C" & C列最後の行).

1 見出
2 見出
3 データ

こんな感じだったら3。

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