Excel VBAでの個別の文字列
以下では、 Excel VBA それ 文字列を区切る.
状況:
ワークシートにコマンドボタンを配置し、次のコード行を追加します。
1.最初に、型Stringのfullnameと呼ばれる変数、型Integerのコンスタレーションと呼ばれる変数、型Integerの変数iを宣言します。
Dim fullname As String, commaposition As Integer, i As Integer
私たちが扱っている問題は、Excel VBAに文字列をどこに区切りたいかを指示します。スミスの場合、マイクはコンマが6位、ウィリアムズがジャネットの場合はコンマが9位です。
2. Excelで入力した各名前に対してループを使用して操作を実行します。最初に、変数fullnameを初期化します。次に、Instr関数を使用してカンマの位置を検索します。
For i = 2 To 7
fullname = Cells(i, 1).Value
commaposition = InStr(fullname, ",")
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)
Cells(i, 3).Value = Left(fullname, commaposition - 1)
Mid(fullname、commaposition + 2)は、 "commaposition + 2"という文字で始まるfullnameの部分を意味します(これはまさに最初の名前です)。
左(fullname、commaposition - 1)は、 "commaposition-1"の文字(これはちょうど姓)まで、最初からfullnameの部分を始めることを意味します。
4.ループを閉じるのを忘れないでください。
Next i
5.カンマとスペースで区切られた6つの名前をRange( "A2:A7")に追加します。
6.プログラムをテストします。
結果: