
No.2ベストアンサー
- 回答日時:
こんいちは。
> 置換対象がなかったときは、その旨わかるようにしたいのですが、
> 方法あるでしょうか?
> ※毎回replaceの前でfind関数であるかないか、調べないと
> いけないのでしょうか?
何れにしても、条件分岐は必要な訳ですから、
なるべく簡単に片付けるとして、Instr()関数を使うのが標準的です。
また、見つからないワードを置換するのも無駄ではあるので、
特に"置換対象がなかったとき"を判別する必要がない場合でも、
Replace()関数はなるべくInstr()関数とセットで使うようにすると
効率的です。
Sub Re8335191()
Dim s0 As String
Dim sTgt As String
Dim sRtn As String
s0 = "abc"
sTgt = "a"
If InStr(s0, sTgt) > 0 Then
sRtn = Replace(s0, sTgt, UCase(sTgt))
MsgBox s0 & " → " & sRtn
Else
MsgBox "notfound : " & sTgt
End If
sTgt = "d"
If InStr(s0, sTgt) > 0 Then
sRtn = Replace(s0, sTgt, UCase(sTgt))
MsgBox s0 & " → " & sRtn
Else
MsgBox "notfound : " & sTgt
End If
End Sub
No.1
- 回答日時:
>※毎回replaceの前でfind関数であるかないか、調べないといけないのでしょうか?
VBAでならFind関数でなく、StrComp関数ですね。
あと変数を使えば比較は前でも後でも出来ます。
問題は、どう知らせるかですね。
例
Dim MAE,ATO As String
MAE = Cell(1,1)
ATO = Replace(MAE, "A", "B")
IF MAE = ATO Then MsgBox("対象文字がありません",VbOkOnly,"置換")
Cell(1,1) = ATO
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) Excel VBA 教えてください。 VBA初心者です。 詳しい方がいましたら教えてください。 下記 3 2023/04/25 11:22
- Visual Basic(VBA) EXCEL VBA 単語置き換え について質問です ブック名 ぶぶぶ シート名 ししし セル V3〜 3 2023/03/08 01:41
- Visual Basic(VBA) Excel VBAでAA(BBB) → BBB.AA に置換したい 2 2022/10/30 13:59
- Visual Basic(VBA) VBAで、特定の文字より後を削除して残った数値を文字列に変換と特定の文字より前も削除したい 3 2022/04/15 19:21
- Visual Basic(VBA) 入力ボックスが繰り返しポップアップして止まらない。 下記コードでファイル名の変更をしたいのですが、変 1 2022/09/08 11:27
- Excel(エクセル) Excelの関数についておしえてください。 3 2023/04/20 18:36
- Mac OS MacBookについて質問です。 文字を打っていると T を打った後文字を打つと必ず検索と置き換えが 2 2023/01/14 23:41
- Visual Basic(VBA) EXCEL VBAで教えてください。 1 2022/12/22 04:20
- Visual Basic(VBA) 特定の文字を簡単な操作で半角スペースに変換するか削除したい 2 2022/11/01 10:35
- その他(プログラミング・Web制作) テキストエディタで複数行にわたる文字列の行頭に番号を振る方法 4 2023/03/11 12:57
このQ&Aを見た人はこんなQ&Aも見ています
-
EXCEL警告「置換対象のデータが見つかりません」を出ないようにしたい
Visual Basic(VBA)
-
VBAでの Replace関数で、ワイルドカードは使えないのでしょうか?
Visual Basic(VBA)
-
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
-
4
split関数で区切り文字がない場合
Visual Basic(VBA)
-
5
VBAでブックを非表示で開いて処理して閉じる方法
Excel(エクセル)
-
6
Application.ScreenUpdating = Falseが効きません
Visual Basic(VBA)
-
7
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
8
VBAでEmpty値って何ですか?
Excel(エクセル)
-
9
VBAでループ内で使う変数名を可変にできないか。
Visual Basic(VBA)
-
10
特定の文字でReplaceメソッドが動作しません
Visual Basic(VBA)
-
11
【ExcelVBA】マクロの入ったシートをコピーしても新しいシート内でマクロを動作させるには?
Excel(エクセル)
-
12
vba 空のデータをSplitする時の処理について教えてください
Microsoft ASP
-
13
構造体をコレクションに入れて扱いたいのですが…
コレクション
-
14
WorkBooksをオープンさせずにシートにコピーしたい【EXCEL VBA】
Excel(エクセル)
-
15
エクセルのラベルの値(文字列)を垂直方向で中央揃えにするには?
Excel(エクセル)
-
16
「Columns(A:C")」の列文字を数字にして表記したい"
Excel(エクセル)
-
17
Excelのセルの色指定をVBAから配列を用いて効率的に行う方法はあり
Visual Basic(VBA)
-
18
UserForm1.Showでエラーになります。
工学
-
19
エクセルVBAで、MsgBox やInputBox は、画面の中央以外に表示させたい。
Excel(エクセル)
-
20
Excel VBA メール作成について 本文の中にExcel でコピーした図を上下に2つ 貼り付けを
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBA 置換文字がみつからない時
-
各項目がダブルクォーテーショ...
-
C#で空白行を削除する方法
-
正規表現でテキストの中身を置...
-
csvデータのダブルクォーテーシ...
-
バッチファイルの処理が実際の...
-
秀丸マクロで、あらかじめ選択...
-
word VBA 改ページの繰り返しに...
-
ハングルを日本語に置換
-
EXCEL警告「置換対象のデータが...
-
秀丸で数字だけの行を削除したい
-
PerlでUTF-8のファイルの文字列...
-
csvデータ ダブルクォーテ...
-
特定の列のみ置換を行いたい
-
正規表現について
-
xmlファイル内の文字列置換
-
秀丸エディタで、「-」や「ー」...
-
正規表現で、特定の文字列を含...
-
テキストファイル中の文字列の置換
-
\\(円)記号を置換したい
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBA 置換文字がみつからない時
-
正規表現で、特定の文字列を含...
-
csvデータ ダブルクォーテ...
-
各項目がダブルクォーテーショ...
-
Excel VBA リストに一致したデ...
-
スペースで区切られた氏名から...
-
秀丸エディタで、「-」や「ー」...
-
EXCELマクロを用いてグラフの系...
-
csvデータのダブルクォーテーシ...
-
C#で空白行を削除する方法
-
EXCEL警告「置換対象のデータが...
-
xmlファイル内の文字列置換
-
正規表現 特定の文字列を含む行...
-
テキストボックスの文字列を置...
-
○文字目に文字挿入
-
C言語でテキストファイルの内容...
-
複数のパワーポイントファイル...
-
c# ビルド直前にコードを置換で...
-
Excel・ユーザーフォームの情報...
-
\\(円)記号を置換したい
おすすめ情報