トップ > 資格を活かすには > やってみよう!Excel VBAで業務改善! > 新たなる挑戦編: 第4話「テキストファイルを操作しよう!」3/4 :さっきとの違いは…

やってみよう!Excel VBAで業務改善! 新たなる挑戦編|第4話 「テキストファイルを操作しよう!」

さっきとの違いは…

「さっきとの違いを説明するよ。
コードの7行目で、v = Split(buf, ",")としているよね。
これはSplit関数といって、指定された文字列を区切り文字で区切り、配列にして返す関数なんだけど…
このときbufには"データ1-1,データ1-2,データ1-3"という文字列が格納されている。
これを分割して変数vに代入するんだ」
「…ちょ、ちょっとまった。
1つの変数に、どーやって3つもデータを格納するんだい?」
星くんの質問に、八木くんはニヤリと笑います。

「不思議だろ?星。
そのカギはvという変数が、"バリアント型で宣言されている"というところなんだ。
こうしておくと、たとえ1行にいくつデータを持っていても、ちゃんと1つの変数に格納してくれる。
どーしてそうなるかは、今は気にするな。
とにかく、1行分のCSVデータが、変数vに、データの数だけ別々に格納されるんだ。
ただ、あとでデータを利用するとき、好きなデータを取り出せるように番号が振られる…
それがこの、v(0)、v(1)、v(2)のカッコ内の数字だよ。
…図に描いたほうが、わかりやすいか」

「…こーんな感じだよ」 「なるほど…。
これなら1つめのデータはv(0)、2つめのデータはv(1)と、番号で指定して利用することができるね…。
でもなんで、0から始まってるんだい?
わかりにくいじゃないか…」
「ははは。まあ、そーいうもんだと、慣れるしかないな。
…でもどーだい、星?
CSVの取り込み処理、形になって見えてきたんじゃないかい?」
星くんは、コクリとうなずきます。

「…うん。記述は難しいけど、内容はそんなに難しくないな…。
一度データを、変数にいれてしまえば、あとはどんなふうにでも、自由に使うことができるもんな…。
なんかイけそーな気がしてきた!」
星くんの様子を見て、八木くんが微笑みます。

一覧にもどる