回答受付が終了しました

VBAでLen関数を使って文字列を抜き出したい時に、3文字のものを2文字抜き出したい時はどうやってやりますか? 例)男30

Visual Basic179閲覧

回答(3件)

0

下の方達もおっしゃっていますが、Len関数は 単純に文字数を取得するだけなので、 Len関数だけを使用して 男30の "30"の部分を抜き出すのは無理です。 たとえば、Data変数の中身が「男30」だとして i = Len(Data) i = Len("男30") 上は2つとも同じ意味なので、 2つとも i の値は3になります。3文字だからです。 i = Right(Len(Data), 2) と言っている方が居ますが、これだと i = Right(3, 2) と書いているのと同じなので i は3になります。 3という文字は1文字なので、右から何番目を取っても 3になります。 本来はRight関数などを使うと思いますが、 どうしてもLen関数も使いたいのであれば Right(Data,Len(Data)-1) とすれば、 Right(Data,3 - 1) と書いているのと同じなので、男30の右側2文字を取得する という意味になり、30のみを取り出せます。

0

LEN関数じゃないと駄目なんだろうか 右から2文字を取得 Right$(Data$,2) 2文字目から2文字ほど取得 Mid$(data$,2,2)