Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


3979 / 13644 ツリー ←次へ | 前へ→

【59070】置換した結果を取得したい りった 08/11/26(水) 15:29 質問[未読]
【59071】Re:置換した結果を取得したい sasa 08/11/26(水) 16:24 回答[未読]
【59072】Re:置換した結果を取得したい にぃ 08/11/26(水) 16:46 発言[未読]
【59074】Re:置換した結果を取得したい statis 08/11/26(水) 18:52 発言[未読]
【59075】Re:置換した結果を取得したい neptune 08/11/26(水) 20:56 回答[未読]
【59081】Re:置換した結果を取得したい りった 08/11/27(木) 9:24 お礼[未読]

【59070】置換した結果を取得したい
質問  りった  - 08/11/26(水) 15:29 -

引用なし
パスワード
   Dim r as Range
set r = 〜〜〜〜
r.Replace(〜〜〜)
で、置換は出来ますが、「置換した数」(無理ならせめて置換を1回でもしたかのBoolean)
はどのように取得したら良いでしょうか?
Dim b as Boolean
b = r.Replace(〜〜〜)
とすると、置換対象があっても無くてもTrueが帰ってきました。

【59071】Re:置換した結果を取得したい
回答  sasa  - 08/11/26(水) 16:24 -

引用なし
パスワード
   >Dim r as Range
>set r = 〜〜〜〜
>r.Replace(〜〜〜)
>で、置換は出来ますが、「置換した数」(無理ならせめて置換を1回でもしたかのBoolean)
>はどのように取得したら良いでしょうか?
>Dim b as Boolean
>b = r.Replace(〜〜〜)
>とすると、置換対象があっても無くてもTrueが帰ってきました。

置換の前に検索すればいいのでは...
 Dim r As Range, b As Boolean
 Set r = 〜〜〜
 If Not r.Find(〜〜〜) Is Nothing Then
  b = True
  r.Replace 〜〜〜
 End If

【59072】Re:置換した結果を取得したい
発言  にぃ  - 08/11/26(水) 16:46 -

引用なし
パスワード
   ▼りった さん:
こんにちは!

邪道ですが、置換した文字があるかどうか調べてみたらどうでしょう?

Sub test0()

  Dim r As Range
  Dim Bon As Boolean
  Dim s As String
  
  Set r = Range("A1")
  s = "明日"
  
  r.Replace what:="昨日", replacement:=s
  
  If InStr(r.Value, s) > 0 Then
    Bon = True
  Else
    Bon = False
  End If
  
  MsgBox Bon

End Sub

【59074】Re:置換した結果を取得したい
発言  statis  - 08/11/26(水) 18:52 -

引用なし
パスワード
   ▼りった さん:
こんにちは
>Dim r as Range
>set r = 〜〜〜〜
>r.Replace(〜〜〜)
>で、置換は出来ますが、「置換した数」(無理ならせめて置換を1回でもしたかのBoolean)
>はどのように取得したら良いでしょうか?
>Dim b as Boolean
>b = r.Replace(〜〜〜)
>とすると、置換対象があっても無くてもTrueが帰ってきました。

置き換えた件数を知りたいのなら「Findメソット」(検索)で行なっては如何ですか?

【59075】Re:置換した結果を取得したい
回答  neptune  - 08/11/26(水) 20:56 -

引用なし
パスワード
   ▼りった さん:
こんにちは

>で、置換は出来ますが、「置換した数」(無理ならせめて置換を1回でもしたかのBoolean)
>はどのように取得したら良いでしょうか?
ないものは、自前で置換関数を作る。
どこかに行きましたが昔作ったことあります。数10ステップで出来たと思います。
何万回も繰り返さないのなら、時間的にはどうって事ないと思います。
・・たぶん。

instr,mid,right等を使えば作れます。
置換した回数をカウントして戻せばよいです。

Webを探せばどこかに落ちているかも??

【59081】Re:置換した結果を取得したい
お礼  りった  - 08/11/27(木) 9:24 -

引用なし
パスワード
   有りそうに見えてないんですね。。。
有難う御座います。

3979 / 13644 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free