No.3ベストアンサー
- 回答日時:
No.4
- 回答日時:
No1です。
>こちらの Criteria1:=Array( _
>"A001", "A006", "A008"),の部分を
>別のシートのA2からA10までに入っている値にしたいって感じなのです。
No1にも書きましたが、可変にしたい部分を変数化して、必要な値を代入すれば良いだけです。
そのまま、単純に変数化するなら・・
Dim a, b, c ・・・
a = 別シートのA2の値
b = 別シートのA3の値
c = 別シートのA4の値
・・・
Worksheets("対象シート").Range("A1:E21").AutoFilter Field:=1, _
Criteria1:=Array(a, b, c ・・・), Operator:=xlFilterValues
とでもすればよいですが、数が多いので、配列を利用するなら、
Dim s(1 To 9), i As Long
For i = 1 To 9
s(i) = Worksheets("別シート").Range("G1").Offset(i).Value
Next i
Worksheets("対象シート").Range("A1:E21").AutoFilter Field:=1, _
Criteria1:=s, Operator:=xlFilterValues
としておく方がコンパクトにできると思います。
No.1
- 回答日時:
こんばんは
画像は見えないし、なさりたいことの内容もよくわからないので・・
>VBA初心者です。
どの程度の「初心者」なのかもわかりませんが、ある程度の構文は理解できているのなら、「マクロの記録」でなさりたいフィルター操作を手操作で実行して記録をとってみてください。
大まかな手順や使用するメソッドがわかると思いますし、その中で可変にしたい内容を変数などにして、処理で求めるように変更すれば良いです。
コツとしては、「マクロの記録」をそのまま利用しようとはせずに、あくまでもメソッドの参考として利用することだと思います。
手作業の記録だと頻出する「Select」や「Selection」、「Activate」などは用いずとも、大抵のマクロは作成可能ですので、そのような作り方をなさることをお勧めいたします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) VBA セルの値と同じ名前のシートにデータを貼り付けするやり方を教えてください 2 2022/05/17 16:26
- Excel(エクセル) Excelで質問です! 現在マクロを勉強中の初心者です。 以下のような表から、会社名が空白のもの以外 2 2022/06/14 12:16
- Excel(エクセル) シートが違う2枚のエクセルシートにある数値を別シートにコピーしたい(VBA?) 8 2022/03/31 12:24
- Excel(エクセル) エクセルのフィルターを複数シートに連動させたいです。 エクセルファイルに15シートあります。 そのう 2 2022/05/01 21:47
- Visual Basic(VBA) VBAマクロ 決まっていない行を選択して別シートへ貼付け 4 2023/02/16 16:08
- Visual Basic(VBA) 複数シートの複数列に入力されているデータを重複なしで抽出するVBAを作りたいです。 9 2022/06/17 10:33
- Visual Basic(VBA) 【VBA】複数行あるカンマ区切りのデータを全て縦に一列に並べたい 5 2022/04/13 17:03
- Visual Basic(VBA) VBAマクロでシートコピーした新シートにコピー元シートとの計算式の入れ方を教えて下さい。 5 2022/11/20 09:48
- Excel(エクセル) 【困っています】VBA 追加処理の記述を教えてください。 1 2022/08/25 22:54
- Visual Basic(VBA) 【VBA】データを入力後に,同一シート内に履歴として転記するVBAコードを教えていただきたいです。 3 2022/11/16 01:37
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excel VBAでのWorksheet_Change...
-
エクセルで複数のシートのクリ...
-
フォルダ内にある全ファイルの...
-
エクセル シート内の一番下のセ...
-
Excelで数字を入れたら対応する...
-
EXCELのダイアログシートって、...
-
エクセルのマクロでコマンドボ...
-
エクセルのマクロ実行後にカー...
-
エクセル:セル内の文字列の最...
-
3つのマクロを連続実行の中で...
-
記録したマクロを他のシートに...
-
セルの一部分だけを太字にする方法
-
長い時間かかるマクロが実行中...
-
【エクセル】フリーワード検索...
-
【エクセル】「実行時エラー’10...
-
EXCEL マクロの記録で並べ替え...
-
前月分を次月シートに繰越でき...
-
エクセルで○をつけるマクロ設定
-
Excelでセル内の文字をファイル...
-
エクセル マクロ 一定時間おき...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel VBAでのWorksheet_Change...
-
Excelで数字を入れたら対応する...
-
エクセルで複数のシートのクリ...
-
エクセルファイルを開いた回数...
-
Excelのシート上のShapeにイベ...
-
エクセルで特定の行だけ行削除...
-
長い時間かかるマクロが実行中...
-
エクセル シート内の一番下のセ...
-
【エクセル】フリーワード検索...
-
Excelでセル内の文字をファイル...
-
【エクセル】「実行時エラー’10...
-
シートではなくBOOK間で重複し...
-
フォルダ内にある全ファイルの...
-
EXCELのダイアログシートって、...
-
エクセル:セル内の文字列の最...
-
自分の専門分野の仕事。初見で...
-
セルの一部分だけを太字にする方法
-
エクセルで○をつけるマクロ設定
-
エクセル マクロ 一定時間おき...
-
Excelにて、同じ画像を複数のセ...
おすすめ情報
fujillinさん、tagletさん
ご回答ありがとうございます。
そうですよね。。。
申し訳ございません、こういった場に書き込みするのも初めてでしたので(- -)(_ _)
下記、マクロの記録を撮ったものなのですが
こちらの Criteria1:=Array( _
"A001", "A006", "A008"),の部分を
別のシートのA2からA10までに入っている値にしたいって感じなのです。
(マクロの記憶)
' Macro1 Macro
'
'
ActiveSheet.Range("$A$1:$E$21").AutoFilter Field:=1, Criteria1:=Array( _
"A001", "A006", "A008"), Operator:=xlFilterValues
End Sub