Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


8274 / 13646 ツリー ←次へ | 前へ→

【33165】カンマ区切りデータをエクセルに kuu 06/1/4(水) 9:49 質問[未読]
【33166】Re:カンマ区切りデータをエクセルに ponpon 06/1/4(水) 10:12 発言[未読]
【33170】Re:カンマ区切りデータをエクセルに Kein 06/1/4(水) 12:40 回答[未読]
【33208】Re:カンマ区切りデータをエクセルに Jaka 06/1/5(木) 9:44 発言[未読]
【34309】Re:カンマ区切りデータをエクセルに kuu 06/1/31(火) 8:13 発言[未読]

【33165】カンマ区切りデータをエクセルに
質問  kuu  - 06/1/4(水) 9:49 -

引用なし
パスワード
   カンマ区切りのデータを文字列のエクセルファイルに取り込むマクロを記録したのですが、記述を簡略化出来ないでしょうか。そのままですととても長くなってしまい「行継続文字」の使いすぎでマクロに登録できません。

(例)
Workbooks.OpenText Filename:= "\A.prn", StartRow:=1, DataType :=xlDelimited, TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, Semicolon:=False, Comma:=True, Space:=False, Other:=False , FieldInfo:=Array(Array(1, 2), Array(2, 2), … Array(100, 2))

【33166】Re:カンマ区切りデータをエクセルに
発言  ponpon  - 06/1/4(水) 10:12 -

引用なし
パスワード
   おはようございます。

Open Text をヘルプで調べ、必要な引数だけに絞ったらいかがでしょうか?

【33170】Re:カンマ区切りデータをエクセルに
回答  Kein  - 06/1/4(水) 12:40 -

引用なし
パスワード
   こんな感じでどうかな ?

Dim i As Integer
Dim InfAry(1 To 100)

For i = 1 To 100
  InfAry(i) = Array(i, 2)
Next i
Workbooks.OpenText Filename:="\A.prn", DataType:=xlDelimited, _
Tab:=True, Comma:=True, FieldInfo:=InfAry
Erase InfAry

【33208】Re:カンマ区切りデータをエクセルに
発言  Jaka  - 06/1/5(木) 9:44 -

引用なし
パスワード
   ちょっと細かくやろうとすると...。
[#5244]

単純に1行目をlineinput読み込んでから、""で囲まれた「,」を除いた「,」数を数え、カンマ数+1のフィールドとして、全部文字列で読み込むのが速いようです。
でも、OpenTextって開くだけだから、更にコピペで時間がかかると思います。
CSV、テキストで検索すると何個か見つかるんじゃないかと思います。

【34309】Re:カンマ区切りデータをエクセルに
発言  kuu  - 06/1/31(火) 8:13 -

引用なし
パスワード
   皆様アドバイスありがとうございます。

keinさんのコードでやってみましたが
・かなり時間がかかる
・すべて文字列で読み込みたいが、一部が数値となっている
という点が課題です。

8274 / 13646 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free