ExcelVBAマクロについて確認させてください。

Writer: admin Type: foresth Date: 2019-01-08 00:00
ExcelVBAマクロについて確認させてください。ある文字列を変数 aに読み込んで、その文字列からキーワード"BBBB"を検出したらそのキーワード"BBBB"以降の文字列を削除して変数 aに再度代入するプログラムお教えいただけますでしょうか。よろしくお願いいたします。共感した0###a = Split(a, "BBB")(0)で"BBB"に前の部分が取得できます。Sub sample()Dim a As Stringa = "ほげほげBBBふむふむ"a = Split(a, "BBB")(0)MsgBox aEnd Subもしもaが""(空白)の場合があるならa = Split(a & "BBB", "BBB")(0)で。Sub sample()Dim a As Stringa = "ほげほげBBBふむふむ"a = ""a = Split(a & "BBB", "BBB")(0)MsgBox aEnd Subナイス0
###こういった便利な関数もあるんですね!使えそうなので参考にしてみます。色々とありがとうございます!
###Dim a As StringDim position As Longa = "文字列を読み取るBBBBCCCC"position = InStr(a, "BBBB")if position > 0 Thena = Left(a, position-1)End IfInStrは1つめの引数に渡された文字列から、2つめの引数に渡された文字列を先頭から検索し、最初に見つかった位置を返す関数です。見つからなければ0が返りるので、0より大きい値が返ってきたときに文字列を抽出する処理を行います。Leftは1つめの引数に渡された文字列のうち、2つめの引数に渡された数分の文字列を返す関数です。InStrで見つかった位置を渡すと、見つかった部分より左側を返してくれますが、InStrは初めに見つかった位置が返ってくるので、そのまま用いると1文字多くとってきてしまいます。なので、-1をした値をわたしています。ナイス0

 

TAG