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も見ています
-
「環境が人を育てる」って本当?環境によって人格や生き方は本当に変わるのか
環境が人生に与える影響は実際どれほどのものなのか、専門家の田宮由美さんに伺った。
-
split関数で区切り文字がない場合
Visual Basic(VBA)
-
EXCEL警告「置換対象のデータが見つかりません」を出ないようにしたい
Visual Basic(VBA)
-
VBAでの Replace関数で、ワイルドカードは使えないのでしょうか?
Visual Basic(VBA)
-
-
4
エクセルでエラーが出て困っています。
Excel(エクセル)
-
5
配列の値を置換するにはどうすればいいでしょう?
Excel(エクセル)
-
6
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
7
VBA シートをコピーする際に Copyメソッドは失敗しましたのエラーが出てしまいます
Visual Basic(VBA)
-
8
エクセルのエラーメッセージ「400」って?
Visual Basic(VBA)
-
9
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
10
Excelのセルにユーザー名を表示する方法
Excel(エクセル)
-
11
worksheetFunctionクラスのVlookupプロパティを取得できません エラーへの対応
Visual Basic(VBA)
-
12
エクセルVBAのIf,Then 構文でOr条件とAnd条件の結合方法?
Excel(エクセル)
-
13
EXCEL VBA セルに既に入力されている文字に文字を追加する
Excel(エクセル)
-
14
exeファイルの中身を見ることは可能ですか?
フリーソフト
-
15
Chr(13)とChr(10)の違いは?
PowerPoint(パワーポイント)
-
16
VBAでブックを非表示で開いて処理して閉じる方法
Excel(エクセル)
-
17
vba 空のデータをSplitする時の処理について教えてください
Microsoft ASP
-
18
エクセル・VBA CheckBoxのオブジェクト名に変数を使うことは可能でしょうか?
Excel(エクセル)
-
19
VBAで先月、先々月を求める方法
Visual Basic(VBA)
-
20
EXCELのVBAでシートコピーをしたとき元のマクロを削除するには?
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBA 置換文字がみつからない時
-
各項目がダブルクォーテーショ...
-
csvデータ ダブルクォーテ...
-
スペースで区切られた氏名から...
-
EXCEL警告「置換対象のデータが...
-
C言語でテキストファイルの内容...
-
正規表現でテキストの中身を置...
-
PowerShellでテキストの空白行...
-
ハングルを日本語に置換
-
EXCELマクロを用いてグラフの系...
-
EXCEL VBA でCTRL+Fのダイア...
-
置換文字列の中に"?"があると置...
-
エクセル VBA 複数条件一...
-
TeraPadエディターの操作方法に...
-
複数のパワーポイントファイル...
-
SQL IIF と REPLACE のやりかた
-
\\(円)記号を置換したい
-
バッチにてファイルを読み込ん...
-
行頭語による判別を含んだ、正...
-
正規表現で、特定の文字列を含...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
スペースで区切られた氏名から...
-
VBA 置換文字がみつからない時
-
各項目がダブルクォーテーショ...
-
csvデータ ダブルクォーテ...
-
エクセル VBA 複数条件一...
-
正規表現で、特定の文字列を含...
-
csvデータのダブルクォーテーシ...
-
xmlファイル内の文字列置換
-
PowerShellでテキストの空白行...
-
C#で空白行を削除する方法
-
ハングルを日本語に置換
-
複数のパワーポイントファイル...
-
Excel・ユーザーフォームの情報...
-
C言語でテキストファイルの内容...
-
Eclipse 改行後のタブ
-
テキストファイル中の文字列の置換
-
正規表現 特定の文字列を含む行...
-
EXCEL警告「置換対象のデータが...
-
○文字目に文字挿入
-
VBscriptで「改行」と「"」を置...
おすすめ情報