Excel VBA質問箱 IV

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

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


26666 / 76738 ←次へ | 前へ→

【55403】Re:オートフィルタの結果を他のシートに反映
発言  Jaka  - 08/5/2(金) 15:20 -

引用なし
パスワード
   データの詳細が無かったので、コード読んでません。
オートフィルタ使用例1という事で...。

ただコードだけ記載するのもなんなので、Sheet1に例題表を作ってから
オートフィルタした範囲を実行すればある程度の事は理解できるんじゃないかと思います。
(End Subのbが抜けていたので修正とともに少し別な書き方を追加。)

Sub 例題準備()
TB = Array("A", "B", "C", "D", "E", "F", "G", "H", "I")
Range("C4").Resize(, UBound(TB) + 1).Value = TB
Range("C5").Value = 1
Range("C5").AutoFill Destination:=Range("C5:C13"), Type:=xlFillSeries
Range("C5:C13").AutoFill Destination:=Range("C5:K13"), Type:=xlFillDefault
Range("C5:L13").Copy
For i = 1 To 3
  Range("C65536").End(xlUp).Offset(1).PasteSpecial
Next
End Sub

Sub オートフィルタした範囲()
Dim Cel As Range, Ct As Long
With Sheets("Sheet1")
  'フィルタ解除
  .AutoFilterMode = False
  .Range("B4").AutoFilter Field:=1, Criteria1:="9"
 
  With .AutoFilter.Range
    MsgBox "項目を含むオートフィルタ全範囲" & vbLf & .Address
    With .Resize(.Rows.Count - 1).Offset(1)
      MsgBox "データ部範囲" & vbLf & .Address
      If Application.Subtotal(3, .Columns(1)) = 0 Then
       MsgBox "抽出データ無し。"
       Exit Sub
      End If

      With .SpecialCells(xlCellTypeVisible)
        .Select
        MsgBox "抽出したデータ部選択"
        For Each Cel In .Rows
          Cel.Columns(3).Select
          Ct = Ct + 1
          MsgBox "抽出したセルの" & Ct & "行3列目、" & _
              Cel.Columns(3).Address(0, 0) & "を選択。"
        Next
      End With

      With .Columns(1).SpecialCells(xlCellTypeVisible)
        .Select
        MsgBox "抽出したセルの1列目を選択。"
        For Each Cel In .Cells
          Cel.Select
          MsgBox Cel.Address
        Next
      End With

    End With
  End With
End With
End Sub


ついでにここ読んでおくと良いかも。
ht tp://www.vbalab.net/vbaqa/c-board.cgi?cmd=ntr;tree=43413;id=excel
2 hits

【55383】オートフィルタの結果を他のシートに反映 Regina 08/5/1(木) 18:36 質問
【55403】Re:オートフィルタの結果を他のシートに反映 Jaka 08/5/2(金) 15:20 発言

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