エクセルVBAで文字列を区切り
私たちは、文字列を分離エクセル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.テストプログラム。
結果: