質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.30%
VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

マクロ

定義された処理手続きに応じて、どのような一連の処理を行うのかを特定させるルールをマクロと呼びます。

Q&A

解決済

1回答

567閲覧

VBAでワイルドカードと変数を使用して該当する文字を削除したい

yuka11556

総合スコア2

VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

マクロ

定義された処理手続きに応じて、どのような一連の処理を行うのかを特定させるルールをマクロと呼びます。

0グッド

0クリップ

投稿2024/01/25 08:43

編集2024/01/25 08:57

いつもお世話になっております。
質問させていただきます。

sheet1のセルのB列に

1CTC-A(15M)
AB-15X-Q
PB-24O
WS25aaaa(10M)
WS25asssa/5A
WS25asssa//10A


といった品番が羅列していて(品番の個数は変わります。)

例えば(15M)や(10M)を一括で消したいときに、
sheet2のA列に(*M)と入力して
(*M)を変数に代入して
*をワイルドカードのような扱いにして可変で、
該当するセルがあった場合に、文字を抽出して、
(*M)に該当する部分のみ削除する仕組みのマクロを作りたいです。

sheet1のB列に
1CTC-A(15M)→1CTC-A
WS25aaaa(10M)→WS25aaaaといった表記にしたいです。

また、sheet2のA列には削除したい文字を追記していく予定です。
(*M)を入力したセルの下に
/*Aと入力したら
WS25asssa/5A→WS25asssa
WS25asssa//10A→WS25asssa

となるようにしたいです。

replaceメソッド、関数を使っても変数とワイルドカー両方使える方法が見当たらなく、質問させていただきました。

お手間おかけしますが教えていただけたら幸いです

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

Replaceメソッドはワイルドカードが使用できますよ。

sheet1のB列に
1CTC-A(15M)
AB-15X-Q
PB-24O
WS25aaaa(10M)
WS25asssa/5A
WS25asssa//10A

sheet2のA列に、
(*M)
/*A

という場合、下記のコードで
sheet1のB列は
1CTC-A
AB-15X-Q
PB-24O
WS25aaaa
WS25asssa
WS25asssa
となります。

vba

1Public Sub Sample() 2 Dim r As Range, c As Range 3 With Worksheets("Sheet1") 4 Set r = .Range("B1", .Cells(.Rows.Count, "B").End(xlUp)) 5 End With 6 With Worksheets("Sheet2") 7 For Each c In .Range("A1", .Cells(.Rows.Count, "A").End(xlUp)) 8 r.Replace c.Value, "", LookAt:=xlPart 9 Next 10 End With 11End Sub

投稿2024/01/25 12:21

hatena19

総合スコア34367

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yuka11556

2024/01/26 00:22

回答ありがとうございます。 試したところ問題が解決しました! ベストアンサーに選ばせていただきました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.30%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問