
よろしくお願いします。
エクセル2000を使っています。
テキストのデータで
A1/B1/C1 /はスペースです。
D1/E1/F1 データの長さは全部違います。
A2/B2/C2
D2/E2/F2
A3/B3/C3
D3/E3/F3
・
・(続く)
といったものがあります。これをエクセルで
A列 B列 C列 D列 E列
1行 A1 B1 C1 D1 E1
2行 A2 B2 C2 D2 E2 ・・・
3行 A3 B3 C3 D3 E3 (続く)
・
・(続く)
という感じで別々のセルにいれて貼り付けしたいのです。
テキストデータを別々のセルに貼り付けする方法は
過去ログで「区切り位置」というのをつかえばいいというのはわかりましたが、この場合の複数行にわたるテキストデータをエクセルの1行に貼り付けする方法がわかりません。また、データの長さが違うために「区切り位置」もうまくいきません。
良い解決法をお願いします。
No.5ベストアンサー
- 回答日時:
データ並びが一定でなくても構わないようにしています。
テキスト何行を1行分にして読込むか、設定出来ます。(今は2行に設定)
マクロを実行するとファイル名指定のダイアログがでますので、テキストファイルを
指定すると、アクティブシートにデータが読み込まれます。
宜しかったら詳しい手順を書きますのでテストしてみてください。
1.Alt + F11 で VBE(Visual Basic Editor)を開きます。
2.VBE のメニューから[挿入] -->[標準モジュール] を指定します。
3.モジュールウィンドウに下記コードをコピーして貼り付けます。
4.Alt + Q (または、右上隅の×)でウィンドウを閉じ、シートに戻ります。
5.メニューから[ツール]-->[マクロ]-->[セキュリティ]で「セキュリティレベル」を
「中」にして[OK]します。
6.実行するときは、Alt + F8 (メニューから[ツール]-->[マクロ]-->[マクロ])で
「テキスト複数行を1行で読込」を指定し、[実行]ボタンを押します。
Sub テキスト複数行を1行で読込()
Dim FNum As Integer, R As Integer
Dim Col As Integer
Const RwSet As Integer = 2 '<-- 読取り行数単位指定
Dim N As Integer, Rw As Long
Dim FileName, InData, Ary
FileName = Application _
.GetOpenFilename("テキスト ファイル(*.csv;*.txt),*.csv;*.txt")
If FileName = False Then Exit Sub
FNum = FreeFile
Open FileName For Input As FNum
Col = 1: Rw = 1
Do Until EOF(FNum)
For R = 1 To RwSet
If EOF(FNum) Then Exit Do
Line Input #FNum, InData
Ary = Split(Trim(InData), " ")
For N = 0 To UBound(Ary)
Cells(Rw, Col).Value = Ary(N)
Col = Col + 1
Next N
Next R
Rw = Rw + 1
Col = 1
Loop
Close #FNum
End Sub
回答ありがとうございます。
早速、指示されたとおりにやってみるとできました。
しかし、本番のケースはテキストファイルが職場にあるので、後日に結果を報告させてもらいます。本番の場合はもう少し複雑なデータですが・・・
とりいそぎお礼を申し上げます。
No.4
- 回答日時:
1列分が2レコードに別れているために、区切り位置では出きず、区切り文字をカンマやTABに変えてもだめだと思います。
そこでVBAの登場です。(テストデータ)メモ帳で
aaaaa bbbb ccc
dddd eeeeeee
fff ggggg hhhhh
ii jjjjjjj
名前を付けて保存でbbd.txtと言うファイルを作りました。
(VBAコード)エクセルのVBEの標準モジュールに
Sub test01()
Open "c:\my documents\bbd.txt" For Input As #1
j = 1
While (Not EOF(1))
Line Input #1, a
b = Split(a, " ")
For i = 0 To 2
Cells(j, i + 1) = b(i)
Next i
'----
Line Input #1, a
b = Split(a, " ")
For i = 0 To 1
Cells(j, i + 4) = b(i)
Next i
j = j + 1
Wend
Close #1
End Sub
を貼りつけて、実行します。
(結果)エクセルのシートに
A列 B列 C列 D列 E列
aaaaabbbbcccddddeeeeeee
fffggggghhhhhiijjjjjjj
がセットされました。
本番の場合、どこを変えたら良いか判りますか。
ファイル名、スタート行j等でしょうか。
A-CとD-Fに来るレコードは、必ず2レコードはペアであること。
回答ありがとうございます。
早速、指示されたとおりにやってみるとできました。
しかし、本番のケースはテキストファイルが職場にあるので、後日に結果を報告させてもらいます。本番の場合はもう少し複雑なデータですが・・・
とりいそぎお礼を申し上げます。
No.3
- 回答日時:
#2です。
肝心のことを書き忘れていました(^_^;)。
そうやって、区切りにTabが入った文字列を、そのままコピーして、
その後、エクセル上で開始する左上のセルにカーソルを合わせてからペーストしてやると、そこにきちんとセルにわかれた状態で収まるはずです
早速の回答ありがとうございました。
データの長さの違う「区切り位置」はうまくいったみたいです。
すみませんが、複数行のデータ(質問がよく説明できていないも知れませんが、「A1」「B1」の1の部分は同じ項目のデータでテキストでは複数行に分かれています。この項目が数百あります。)を項目ごとにエクセルの1行に貼り付ける方法も教えていただければありがたいです。
No.2
- 回答日時:
テキストデータの(区切りに使っている)スペースを、いったんすべてtabに置換すると可能です。
Tabへの置換方法ですが、WZエディターというソフトの場合、検索文字「 」(空白)、置換文字「\t」と指定します。
また、メモ帳の場合、いったんTabをエディターか何かで入力して、それをコピー、そして、検索文字に「 」(空白)、置換文字にペーストをするとTabが入りますから、全部置換を指定するとできます。
No.1
- 回答日時:
まず、テキストファイルのデータをメモ帳などで、スペースをカンマに置換します。
それをエクセルで、カンマ区切りで開けば良いと思いますが、いかがですか?
早速の回答ありがとうございました。
データの長さの違う「区切り位置」はうまくいったみたいです。
すみませんが、複数行のデータ(質問がよく説明できていないも知れませんが、「A1」「B1」の1の部分は同じ項目のデータでテキストでは複数行に分かれています。この項目が数百あります。)を項目ごとにエクセルの1行に貼り付ける方法も教えていただければありがたいです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルでのデータ蓄積
-
エクセルで複数セル範囲をコピ...
-
PDF 入力途中で改行したい
-
Google form グーグルフォーム...
-
Notionが、テーブルビューを一...
-
「ドゥ」の簡単なローマ字入力方法
-
wordの差込印刷(ラベル作成)...
-
入力装置に関しての質問
-
JUST PDF 3 傾き補正
-
ワードで住所の漢数字番地の縦...
-
エクセルでセルに「氏名を入力...
-
Excel csvから開くと上限文字数...
-
スペイン語で「i」や「o」の上...
-
エクセルでセル未入力時の初期...
-
テキストファイルで改行に置換...
-
一太郎をワードに変換
-
特定の文字を含む行だけ抽出す...
-
ワードにて スペースを全て改行...
-
1MBでドレくらいの文章を書くこ...
-
Office Word [ここに入力] が...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルの関数について、詳し...
-
従事期間の重複チェック、表示
-
エクセルにて表に入力→一覧に自...
-
エクセルのデータベースで参照...
-
エクセルで扱える行列数を増や...
-
【エクセルとメモ帳を照合したい】
-
エクセルでリストの作成
-
excel VBAを使って、データを自...
-
エクセル マクロ 値のある行...
-
ExcelVBA:たくさんのデータの...
-
テキストファイルのデータをエ...
-
エクセル 細かい条件での切り...
-
エクセルで複数セル範囲をコピ...
-
Google form グーグルフォーム...
-
Notionが、テーブルビューを一...
-
PDF 入力途中で改行したい
-
wordの差込印刷(ラベル作成)...
-
「ドゥ」の簡単なローマ字入力方法
-
1MBでドレくらいの文章を書くこ...
-
ワードにて スペースを全て改行...
おすすめ情報