Instr関数の基礎的な使い方を少し紹介します。
エクセルで使うワークシート関数の方が難しいです。
ワークシート関数を組み合わせて使える人ならVBA関数は簡単かもです。
(因みに、僕はワークシート関数を組み合わせて操ることは出来ません)
VBA関数はルールさえ抑えれば、比較的使いやすいと思います。
InStr("使いたいところ",探したい文字)
ex. InStr("田村 誠" ," ") →スペース(空白)が3文字目にあるから「3」を返す
Dim i As Long
For i = 2 To
Dim ST As String
ST = InStr(Cells(i, 1), " ")
Cells(i, 2) = Left(Cells(i, 1), ST - 1)
Cells(i, 3) = Mid(Cells(i, 1), ST + 1)
Next i
’==================================’
変数に「3」を入れてる感じです。
Left関数
Left(”使いたいところ”,抜き出す文字数)
この場合 変数STは3ですから.....。
Left(”田村 誠”,3-1)→ 空白の一つ手前から抜き出す感じです。
Mid関数
Mid(”使いたいところ”,スタート,抜出文字数)
この場合 変数STは3ですから.....。
Mid(”田村 誠”,3+1,指定しない)→指定しないと最後までを抜き出してくれる。
もちろん、VBAっぽくしたい場合はもっと簡単に抜き出せますよ!
’===================================’
Dim i As Long
For i = 2 To
Dim SP As Variant
SP = Split(Cells(i, 1), " ")
Cells(i, 2) = SP(0)
Cells(i, 3) = SP(1)
Next i
’===================================’
配列を使えばVBAっぽくなります(笑)
でも、配列が「0」からスタートするとか、配列の時は変数の型はVariantにするとか、Split関数を知ってないと使えないとか....。色々ルールがあります。
「こんな少ない行で最終行を指定させるの?」って突っ込まれそうですが、その辺はお許しください。
(本来なら必要な部分の行For i =2 to 4を指定すればいいと思います)
「変数の指定の仕方も変」って言われそう(涙)
キャメルケースやスネークケースをあまり使ったことが無いので、ご勘弁ください。
変数は「変数」って分かるように大文字で指定しています。
VBAを頭のスポーツとして楽しんでいます。
VBAを毎回公開すると少数しか見てくれないと思うので、たまに公開します。
たまになので、どうかお付き合いください。
※ワークシート関数は分割して、一つ一つセルに抜き出して使ってまーす! 組み合わせると後で修正するの大変です。
ネット上で見事に組み合わせて使ってる人を見たら、目を塞ぐようにしてます(笑)