ここから本文です

VBAのSplitを使った複数条件の分割

c_s********さん

2010/12/2217:42:00

VBAのSplitを使った複数条件の分割

教えて下さい。

CSVファイルからダウンロードしたデータをエクセルに転記したいです。

Line Inputで読み込んだデータをsplitを使い,で区切ってセルに代入しているのですが
そのうちの一列に,ではなく.で区切られたデータがあり、『,』と『.』の両方で
データを区切りたいのです。splitでそういった事が可能でしょうか?

Do Until EOF(#1)

Line Input #1, hen
i = Split(hen, ",")
'二行目から入力
Y = Y + 1

Cells(Y, 1) =i(0)
Cells(Y, 2) = i(1)
Cells(Y, 3) = i(2)
Cells(Y, 4) = i(3)
Loop


とりあえず、自分で出来る範囲では,区切りまででした。。。

これに.区切りをなんとか加えたいと思います。
宜しくお願いします。

閲覧数:
8,234
回答数:
2
お礼:
100枚

違反報告

ベストアンサーに選ばれた回答

ads********さん

2010/12/2217:52:55

"."を","に置換してから区切るとか?
⇒データ上問題なければです。

Line Input #1, hen
hen = Replace(hen,".",",")
i = Split(hen, ",")

かな?

質問した人からのコメント

2010/12/24 10:26:49

成功 >adsrfgfhy様

ありがとうございます。おかげさまでうまくいきました。
corgi_nagi様のご提案は残念ながらデータ内にピリオドが含まれていたため
断念いたしました。

お礼が遅くなりまして申し訳ありません。お二方とも、ありがとうございました。

ベストアンサー以外の回答

1〜1件/1件中

cor********さん

編集あり2010/12/2217:59:58

データ内にピリオドを含むデータが存在しないことが前提になります。
方法その一
Replace関数を使って、ピリオドをカンマに全置換。
方法その二
Split関数を呼び出す前にinstr関数でピリオドの有無を確認し、無い場合はカンマで区切る。
有る場合はカンマの有無を確認。カンマが無ければ、ピリオドで区切る。
混在する場合は、Replace関数を用いるか、カンマで区切った後、ピリオドで区切る。

情報量が膨大でコンマ一秒でも処理速度を速くしたい場合はその二が有効です。

この質問につけられたタグ

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる