過去ログ

                                Page     493
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   通常モードに戻る  ┃  INDEX  ┃  ≪前へ  │  次へ≫   
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 ▼特定の数字が入力されている行全体を消したい。  はらへりおおかみ 02/12/29(日) 15:27
   ┗AutoFilterで...  こう 02/12/29(日) 16:59
      ┗Re:AutoFilterで...  はらへりおおかみ 02/12/29(日) 17:47
         ┗Re:AutoFilterで...  こう 02/12/29(日) 19:17
            ┗Re:AutoFilterで...  はらへりおおかみ 02/12/29(日) 19:56
               ┗SpecialCells  こう 02/12/30(月) 15:58
                  ┗Re:一括削除  Jカーター 02/12/30(月) 16:26
                     ┗ありがとうございました。  はらへりおおかみ 02/12/31(火) 8:01

 ───────────────────────────────────────
 ■題名 : 特定の数字が入力されている行全体を消したい。
 ■名前 : はらへりおおかみ
 ■日付 : 02/12/29(日) 15:27
 -------------------------------------------------------------------------
   質問です。Excel VBAで
(行番号)   A(列)  B(列)
 1       1     かば
 2       2     からす
 3       3     まんぼう
 4       2     ぞう
 5       3     あんこう
 6       1     らいおん
 :      :       :
 
 
と入力されているとき、A列の”2”が入力されている行全体を削除するという場合どのようにしたら、よいのでしょうか?
結果が
行番号)   A(列)  B(列)
 1       2     からす
 2       2     ぞう
 :      :      :
のようにA列に2が入力されている行のみ残るようにしたいのですが。よろしくお願いします。
 ───────────────────────────────────────  ■題名 : AutoFilterで...  ■名前 : こう <kou__@anet.ne.jp>  ■日付 : 02/12/29(日) 16:59  -------------------------------------------------------------------------
   はらへりおおかみ、こんにちわ。

>と入力されているとき、A列の”2”が入力されている行全体を削除するという場合どのようにしたら、よいのでしょうか?
>結果が
>行番号)   A(列)  B(列)
> 1       2     からす
> 2       2     ぞう
ちょっと思惑が違うかもしれませんが、AutoFilterではいかがでしょう?
1行でできます。
Columns("A:B").AutoFilter Field:=1, Criteria1:="2"
 ───────────────────────────────────────  ■題名 : Re:AutoFilterで...  ■名前 : はらへりおおかみ  ■日付 : 02/12/29(日) 17:47  -------------------------------------------------------------------------
   ▼こう さん:
回答ありがとうございました。
>Columns("A:B").AutoFilter Field:=1, Criteria1:="2"
を早速使って解決しました。ありがとうございました。
 ───────────────────────────────────────  ■題名 : Re:AutoFilterで...  ■名前 : こう <kou__@anet.ne.jp>  ■日付 : 02/12/29(日) 19:17  -------------------------------------------------------------------------
   ▼はらへりおおかみ さん:
>回答ありがとうございました。
>>Columns("A:B").AutoFilter Field:=1, Criteria1:="2"
>を早速使って解決しました。ありがとうございました。
あっ、
1行目はタイトル行ですので、2行目から集計対象になります。
気をつけてください。
 ───────────────────────────────────────  ■題名 : Re:AutoFilterで...  ■名前 : はらへりおおかみ  ■日付 : 02/12/29(日) 19:56  -------------------------------------------------------------------------
   もう一つ、質問してもよいですか?
AutoFilterで抽出してきた行のみ削除するにはどうしたら良いのでしょうか?
例えば
 Columns("A:B").AutoFilter Field:=1, Criteria1:="2"
で抽出してきた行のみ削除するという事は可能でしょうか?
 ───────────────────────────────────────  ■題名 : SpecialCells  ■名前 : こう <kou__@anet.ne.jp>  ■日付 : 02/12/30(月) 15:58  -------------------------------------------------------------------------
   はらへりおおかみさん、こんにちわ。
>AutoFilterで抽出してきた行のみ削除するにはどうしたら良いのでしょうか?
SpecialCells(xlCellTypeVisible)で可能です。
たとえば、AutoFilterで抽出後に、表示されてる行を取得するには
  Columns("A:B").AutoFilter Field:=1, Criteria1:="2"
  セル範囲 = "A2:A" + CStr(ActiveCell.SpecialCells(xlLastCell).Row)
  For Each i In Range(セル範囲).SpecialCells(xlCellTypeVisible)
    Debug.Print i.Row
  Next i
で可能です。

> Columns("A:B").AutoFilter Field:=1, Criteria1:="2"
>で抽出してきた行のみ削除するという事は可能でしょうか?
上記のSpecialCellsで見つけた行を削除すれば可能だと思いますが、
別に「AutoFilterで引っ掛けて削除」しなくても、普通に検索&行削除
でOKだと思います。少々ベタですが、
  For i = ActiveCell.SpecialCells(xlLastCell).Row To 1 Step -1
    Debug.Print i
    If Cells(i, 1) = "2" Then
      Rows(i).Delete
    End If
  Next i
 ───────────────────────────────────────  ■題名 : Re:一括削除  ■名前 : Jカーター  ■日付 : 02/12/30(月) 16:26  -------------------------------------------------------------------------
   オートフィルタなら一括削除が可能では?
Sub test()
  Range("A:B").AutoFilter 1, "2"
  With ActiveSheet.AutoFilter.Range
    On Error Resume Next
    .Offset(1).Resize(.Rows.Count - 1) _
    .SpecialCells(xlVisible).EntireRow.Delete (xlUp)
    On Error GoTo 0
  End With    
End Sub

間違いがありましたらご容赦ください。
 ───────────────────────────────────────  ■題名 : ありがとうございました。  ■名前 : はらへりおおかみ  ■日付 : 02/12/31(火) 8:01  -------------------------------------------------------------------------
   こうさん、Jカーター さん、ありがとうございました。早速、お二人の方法を試して見ます。
VBA勉強してもっといろいろなことができるように、頑張っていきたいと思います。
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━    通常モードに戻る  ┃  INDEX  ┃  ≪前へ  │  次へ≫    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━                                 Page 493