
VBAの初心者ですが、データの抽出をしたいと考えています。
フォルダの中に、複数のテキストファイル形式のデータがあり、
その中にあるファイル毎の一部データのみ抽出できないかと考えております。
元データ(1)(テキストファイル形式)
10行目にあるデータ A TOKYO
20行目にあるデータ 100 200 1000 2000
(データの間には、スペースがあります。)
元データ(2)(テキストファイル形式)
10行目にあるデータ B Fukuoka
20行目にあるデータ 300 400 3000 4000
(データの間には、スペースがあります。)
編集後のデータは、それぞれのテキストデータ
・10行目データの2番目の抽出
・20行目データの2番目の抽出
・20行目データの4番目の抽出
を抽出できないかと考えています。
編集後データ(エクセルファイル形式に出力)は、下記のような感じできないかと考えてます。
(A列) (B列)
(1行目)TOKYO Fukuoka
(2行目)200 400
(3行目)2000 4000
皆さんからのご回答、
よろしくお願いいたします。
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
VBAの応用として必要なのは
1、テキストファイルの読み込 と
2、指定したフォルダ内のファイルの指定では
ないでしょうか。
1については
http://www.asahi-net.or.jp/~ef2o-inue/vba_o/sub0 …
等を参考にしてください。
2について、DIR関数を使用してみました。方法はいくつかあります。
dir関数で検索してみてください。
サンプルですが
Sub ボタン1_Click()
Dim intFF As Integer
Dim strREC As String
Mypath = "テキストファイルのあるフォルダーへのパス"
Filename = Mypath & Dir(Mypath & "*.txt")
RETU = 1
intFF = FreeFile
Do While Len(Filename) > Len(Mypath)
Open Filename For Input As #intFF
GYO = 1
Do Until EOF(intFF)
Line Input #intFF, strREC
If GYO = 10 Then
Temp = Split(strREC, " ")
Cells(1, RETU).Value = Temp(1)
End If
If GYO = 20 Then
Temp = Split(strREC, " ")
Cells(2, RETU).Value = Temp(1)
Cells(3, RETU).Value = Temp(3)
End If
GYO = GYO + 1
Loop
Close #intFF
Filename = Mypath & Dir()
RETU = RETU + 1
Loop
End Sub
こんな感じではないでしょうか。
No.1
- 回答日時:
何が判らなくて、質問されているのかは判断できませんが、
・フォルダー操作やファイル操作は、FileSystemObject を使うと思いますので、
自分で調べてください。検索すればサンプルを含めて沢山見つかります。
・スペースで区切られたデータの分割は Sprit 関数を使えば簡単です。
・指定した位置のセルへのデータ書き込みは
worksheets("sheet1").cells(aa,bb).value = zzzz
という感じでできます。(aa=行番号, bb=列番号)
このくらいの知識があれば、できるでしょう。
ガンバってみてください。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
教えて下さい
-
【エクセル】測定時間がバラバ...
-
ActiveReportについて
-
CString型の文字列連結について
-
特定のデータの抽出方法を教え...
-
バーコードリーダーの読込デー...
-
メモ帳(テキストデータ)をExc...
-
<VB>String→Object
-
ACCESS VBA インデックスが有効...
-
VBA 毎日取得するデータを順番...
-
GETとPOSTの違い
-
Fortranで/(スラッシュ)を含...
-
C# ソケット通信でデータ受信時...
-
携帯電話を水につけるとデータ...
-
win7でvbsファイルが実行できない
-
パースとはなんですか?
-
「0x00ff0000」?
-
charからの型変換
-
Excel vbaで、一行ずつコピーし...
-
ビットシフトについて
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
教えて下さい
-
【エクセル】測定時間がバラバ...
-
メモ帳(テキストデータ)をExc...
-
配列でデータが入っている要素...
-
多量のSUMIF式を軽くしたい
-
ACCESSからEXCELに出力する際、...
-
この行は既に別のテーブルに属...
-
特定のデータの抽出方法を教え...
-
Accessで該当データにフラグを...
-
Excel VBAでのオートフィルター...
-
ユーザーフォームのテキストボ...
-
[C言語] コメント文字列を無視...
-
DataGridViewのデータの引渡し...
-
エクセルで2つの時系列のデー...
-
VBA 空白セルを削除ではない方...
-
CString型の文字列連結について
-
S9タイプからXタイプにデータ...
-
C# でDataTableの更新を高速化...
-
VBA 円グラフ 特定条件に一致し...
-
二分探索の平均探索回数
おすすめ情報