インプットボックスに入力した語句を、オートフィルターで抽出し、
別シートに転記させたいと思っています。
現在のコードでは、オートフィルターで7列目の登録商品を抽出する際、
インプットボックスに入力した語句がない場合も別シートが作成されてしまいます。
もし、抽出条件がなかったら、「抽出条件がありません」などのメッセージを
表示して、別シートを作成させたくないのですが、
どのようなコートを追加すればよいかわかりません。
VBA初心者です。ご教示お願いします。
Sub test1()
Dim 条件 As String
a = InputBox("商品を入力して下さい")
If StrPtr(a) = 0 Then
MsgBox "キャンセルします"
ElseIf a = "" Then
MsgBox "未入力です", vbExclamation
Else
Range("A5").AutoFilter 7, a
Range("A5").CurrentRegion.Copy
Worksheets.Add
ActiveSheet.Name = a
Range("A1").PasteSpecial xlPasteColumnWidths
Range("A1").PasteSpecial
Range("A1").Select
Application.CutCopyMode = False
Worksheets("sheet1").AutoFilterMode = False
End If
End Sub
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
下記 URL は find メソッドを使った一例です
https://www.sejuku.net/blog/31055
別に worksheetfunction の find 関数でも良いと思います。
とにかくフィルターかける前の段階で、元のワークシートに、文字列 a が含まれているかどうか調べる。
含まれていたら、a でフィルターかけて別のシートを作ってコピーして貼り付ける。
含まれていなかったら、それで終了。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBA Userformで一部別シートに転記がしたいのですが 2 2023/05/24 13:08
- Visual Basic(VBA) 前回ご教授いただいたコードに覚えたてのループ処理で品名りんごAから順に20回for nextでループ 7 2023/01/13 22:01
- Visual Basic(VBA) Sheet3から2つの条件でオートフィルターで抽出した個数をSheet2へ入力するマクロで、一つ目の 4 2023/01/12 23:40
- Visual Basic(VBA) VBAコードが作動せず、どこに問題があるのか教えて下さい。 3 2023/06/13 13:20
- Visual Basic(VBA) 【前回の続き続きです、ご教示ください】VBAの記述方法がわかりません。 2 2022/08/24 20:49
- Visual Basic(VBA) excel2021で実行できないマクロ。どこを直したらいいのか 2 2022/03/28 03:40
- Visual Basic(VBA) 別シートから年齢別の件数をカウントしたいの続き 5 2023/01/24 00:16
- Visual Basic(VBA) 別シートのデータを参照して値を入れたい。 まとめデータシートのC列D列の値を商品一覧シートのコードが 7 2022/08/17 13:20
- Visual Basic(VBA) エクセル VBA 処理スピードを上げたいのですが。 6 2023/03/31 20:52
- Visual Basic(VBA) [Excel VBA] このコードでは行の挿入や行の消去をすると13のエラーが出てしまう。 3 2022/12/09 00:29
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excelで同じシートのコピーを一...
-
エクセルで前のシートを連続参...
-
前の(左隣の)シートを連続参...
-
Excelで金銭出納帳。繰越残高を...
-
エクセルでファイルを開いたと...
-
別シート参照のセルをシート毎...
-
EXCELで1ヶ月分の連続した日付...
-
シートの保護のあとセルの列、...
-
Accessのスプレッドシートエク...
-
EXCELで同一フォーマットのシー...
-
エクセルで前シートを参照して...
-
エクセルVBAでパスの¥マークに...
-
Excelのシートを、まとめて表示...
-
エクセルの複数シートの保護を...
-
Excel 連番を入力する方法
-
複数シートの特定の位置に連番...
-
VBAでシートコピー後、シート名...
-
エクセル計算式解説
-
Excel、同じフォルダ内のExcel...
-
エクセルのシート名をリスト化...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelで同じシートのコピーを一...
-
エクセルの複数シートの保護を...
-
エクセルVBAでパスの¥マークに...
-
Excelで金銭出納帳。繰越残高を...
-
別シート参照のセルをシート毎...
-
EXCEL:同じセルへどんどん足し...
-
エクセルでファイルを開いたと...
-
エクセルでシート名を自動入力...
-
EXCELで同一フォーマットのシー...
-
シートの保護のあとセルの列、...
-
EXCELで1ヶ月分の連続した日付...
-
エクセルで前のシートを連続参...
-
VBAでシートコピー後、シート名...
-
前の(左隣の)シートを連続参...
-
エクセル 計算式も入っていない...
-
Accessのスプレッドシートエク...
-
エクセルで前シートを参照して...
-
VBAで条件によりフォントサイズ...
-
エクセルで複数設定したハイパーリンク先...
-
エクセルのシート名をリスト化...
おすすめ情報