私たちは、文字列を分離エクセルVBAでプログラムを見て下記。

状況:

Separate Strings in Excel VBA

ワークシート上のコマンドボタンを配置し、次のコード行を追加します。

1.まず、我々は、String型のフルネームと呼ばれる変数、Integer型の変数と呼ばれるcommapositionを宣言し、変数はInteger型のIと呼ばれます。

Dim fullname As String, commaposition As Integer, i As Integer

私たちが扱っている問題は、我々は、文字列を分離したい場所エクセルVBAを伝える必要があるということです。ウィリアムズ、ジャネットの場合にコンマが位置9にある間スミスの場合、マイクコンマは位置6にある

2.私たちは、Excelで入力されたそれぞれの名前の操作を実行するためにループを使用します。まず、変数フルネームを初期化します。次に、我々は、コンマの位置を見つけるために、InStr関数を使用します。

For i = 2 To 7

fullname = Cells(i, 1).Value

commaposition = InStr(fullname, ",")

3.最後に、我々は、列BにコンマとC.あなたが行を追加することによって、これを達成することができ、列にカンマの前の部分の後の部分を書きたい:

Cells(i, 2).Value = Mid(fullname, commaposition + 2)

Cells(i, 3).Value = Left(fullname, commaposition - 1)

ミッド(フルネーム、commaposition + 2)私たちは文字「commaposition + 2」で始まるフルネームの一部は(これはまさに最初の名前です)したいの手段。

左(フルネーム、commaposition – 1)私たちは文字が「commaposition- 1」(これはまさに最後の名前です)まで、フルネームの一部は、先頭から始まるたいの手段。

4.ループを閉じることを忘れないでください。

Next i

(「:A7 A2」)5.範囲にコンマとスペースで区切られた6名を追加します。

6.テストプログラム。

結果:

Separate Strings Result