• ベストアンサー

マクロで「スペース」と他の文字列を区別させる

マクロの質問です。 フォルダの中にある複数のファイルについて、ファイル名の左から12文字目が" "(スペース)か他の文字列かにより処理を振り分けるというマクロを作っています。 If Left(Fname,12) = " ", Then とすると、" "(スペース)が文字列として認識されてしまい、"*"と区別させることができません。 どのようにしたら「スペース」と他の文字列を区別して認識させることができるでしょうか。 マクロ初心者です。よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • hana-hana3
  • ベストアンサー率31% (4940/15541)
回答No.1

LEFT関数の使い方が違っています。 ヘルプやネットの使い方をきちんとお読み下さい。 Left 関数 文字列の「左端から指定した文字数分」の文字列を返します。 Mid 関数 文字列から「指定した文字数分」の文字列を返します。 Sub test() Dim str As String str = "12345678901234567890" MsgBox Left(str, 12) MsgBox Mid(str, 12, 1) End Sub

noname#141406
質問者

補足

早速の回答ありがとうございました。 Leftの使い方に関しては初歩的な間違いで申し訳ありませんでした。 ご指摘の通り、Midを使って12文字目を取得しましたが、その後12文字目が「スペース」か他の文字列かを区別させるにはどのような方法があるでしょうか。よろしくお願いいたします。

すると、全ての回答が全文表示されます。

その他の回答 (1)

  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.2

Sub TEST01() Dim Fname As String Fname = "12345678901 34567890" If Mid(Fname, 12, 1) = " " Then MsgBox "スペースです" Else MsgBox "スペースじゃないです" End If End Sub

noname#141406
質問者

お礼

ありがとうございました! MsgBoxで表示させると、「スペース」と他の文字列はちゃんと区別して認識されているのだということがわかりました。 MidとLeftの使い方の間違い、ご指摘ありがとうございました。

すると、全ての回答が全文表示されます。

関連するQ&A