Excel VBA質問箱 IV

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

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


22823 / 76732 ←次へ | 前へ→

【59284】Re:オートフィルターの繰り返し
発言  kanabun  - 08/12/4(木) 20:00 -

引用なし
パスワード
   AutoFilterで、複数列(4列目と6列目)を抽出コピーだと、
4列目をAutoFilterかけて転記してから、いったん.AutoFilter解除して、
改めて 6列目にフィルタかけ、最初に転記したデータのあとに追加する
ということになり、手間が増えるので、

同じフィルタでもフィルタオプションによる抽出コピーのほうが
簡単で速そうです。

Private Sub CommandButton110_Click()
  Dim ss As String
  Dim fRange As Range
  Dim cRange As Range
  Dim CopyTo As Range
  Dim s1 As String, s2 As String
  
  ss = TextBox76.Text
  ss = "*" & ss & "*"
  With Worksheets("DATA")
    Set fRange = .Range("A1").CurrentRegion 'フィルタ範囲
    Set cRange = .Range("AA1") '抽出条件範囲先頭セル
    s1 = .Range("D1").Value   'D列見出し
    s2 = .Range("F1").Value   'F列見出し
  End With
  If WorksheetFunction.CountIf(fRange.Columns("D:F"), ss) > 0 Then
     Set CopyTo = Worksheets("WAREA")
     CopyTo.Parent.UsedRange.ClearContents
     'cRange に抽出条件をセット
     cRange.CurrentRegion.ClearContents
     cRange(1, 1).Value = s1
     cRange(1, 2).Value = s2
     cRange(2, 1).Value = "'=" & ss
     cRange(3, 2).Value = "'=" & ss
     'フィルタオプションによる抽出コピーの実行
     fRange.AdvancedFilter xlFilterCopy, _
       CriteriaRange:=cRange.CurrentRegion, _
        CopyToRange:=CopyTo
  End If
 
End Sub

2 hits

【59281】オートフィルターの繰り返し フィルター 08/12/4(木) 17:15 質問
【59282】Re:オートフィルターの繰り返し kanabun 08/12/4(木) 17:20 発言
【59284】Re:オートフィルターの繰り返し kanabun 08/12/4(木) 20:00 発言
【59417】Re:オートフィルターの繰り返し フィルター 08/12/10(水) 16:48 お礼
【59447】Re:オートフィルターの繰り返し フィルター 08/12/11(木) 15:29 質問
【59452】Re:オートフィルターの繰り返し kanabun 08/12/11(木) 17:24 発言
【59454】Re:オートフィルターの繰り返し フィルター 08/12/11(木) 17:45 お礼
【59455】Re:オートフィルターの繰り返し フィルター 08/12/11(木) 18:53 質問
【59484】Re:オートフィルターの繰り返し pico 08/12/12(金) 22:17 発言
【59485】Re:オートフィルターの繰り返し かみちゃん 08/12/12(金) 22:40 発言
【59490】Re:オートフィルターの繰り返し kanabun 08/12/13(土) 9:54 発言
【59497】Re:オートフィルターの繰り返し pico 08/12/13(土) 20:28 発言

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