
最近VBAを始めた者です。
コンマ区切りのテキストファイルの内容をシート上に読み込むプログラムを
書きたいのですが、テキストファイル内に不要な部分があるため、必要な部分のみ
抜き出して読み込みたいと考えています。
具体的なテキストの内容は以下の通りです。
AAA,BBB,CCC,DDD
EEE,FFF,GGG,HHH
111,222,333,444
111,222,333,444
111,222,333,444
・ ・ ・ ・
・ ・ ・ ・
行数は特に決まっていませんが1000行程度です。
アルファベットは文字列、数字は数値データです。
このうちの222にあたる列のみを読み取りたいのですが、そのための
読み取り開始行、および開始列の指定方法がわかりません。
クエリを用いた方法でできないことはなかったのですが、クエリテーブルに
残るデータは必要なく、後で消す必要が出てくるためクエリを用いない方法を探しています。
使用ソフトはExcel2007です。
宜しくお願いします。
A 回答 (5件)
- 最新から表示
- 回答順に表示
No.5
- 回答日時:
NO1です。
>しかしこの方法では、あらかじめ用意しておいた・・・・
前回のに続けて
3.A列を選択(領域選択でもよい)
4.右クリックでコピー
5.貼り付けたいブックのシートの列(3.で領域の場合はセル)を選択
6.値指定で貼り付け
7.csvファイルを取り込んだブックを保存せずに終了
8.マクロ記録終了
これだけのことでしょう。
質問者さんの技量を推定してこれくらいの応用は可能と判断して
前回は敢えて省きました。
すべての事をここの質問に頼ってばかりでは、あなたのスキルアップ
には繋がりません。
ここでの質問はあくまでも、問題解決のためのヒントを得て、ご自分
で、問題解決する事を考えるべきと思います。

No.4
- 回答日時:
こんにちは。
私も無知なのですが、ちょっとやってみました。
データリボン→外部データの取り込み→テキストファイル→
ファイルを指定して[インポート]
↓
テキストファイルを開いた時と同じ要領で列を指定して[完了]
↓
「データの取り込み」という窓が現れるので
データを格納したい場所を指定する
…と、こういうことでいいのかな?
私が勉強させていただきました!
私も当初そのようにしていたのですが、この方法ですとクエリテーブルに
データが残る形になると思います。
私の場合このクエリデータは必要ないのでクエリを用いない方法を
探していたのです。
No.3
- 回答日時:
参考に
SubTest()
Dim FSO, TextFile
Set FSO = CreateObject("Scripting.FileSystemObject")
Set TextFile = FSO.OpenTextFile("C:\てすと.txt")
With TextFile
Do Until .AtEndOfStream
MsgBox .Line & "行目-2列目" & vbCr & Split(.ReadLine, ",")(1)
Loop
.Close
End With
Set FSO = Nothing: Set TextFile = Nothing
End Sub
No.2
- 回答日時:
カンマが1つ目と2つ目のデータを抜き出すなら
FIND関数、MID関数を使ったらどうでしょう。
以下の数式をデータの件数分繰り返しては?
no1 = FIND(",",テキストデータ,1)
no2 = FIND(",",テキストデータ,no1 + 1)
答 = =MID(テキストデータ,no1 + 1,no2 - no1 - 1)
No.1
- 回答日時:
>このうちの222にあたる列のみを読み取りたいのですが、
要するに普通に読み込んだ場合B列に当たる部分のみを
取り込みたいということでしょうか?
だとすれば、通常の操作で
1.”開く”で”テキストファイルを指定”して開く
2.A列,C~E列を削除
この、1.2.の操作を”マクロ記録”で行い出来たマクロの
中身を現在作成しているマクロのにコピーするのが、一番楽な
方法だと思います。
この回答への補足
質問者です。
お礼ではこの方法でクエリを使用した方法で記録されたと書きましたが、
「開く」と「外部データを取り込む」を勘違いしていました。
「開く」でテキストファイルを指定してマクロ記録してみたところ、クエリを使用することなく
テキストファイルの内容を取り込んだエクセルファイルを得ることができました。
しかしこの方法では、あらかじめ用意しておいたワークシート上の指定個所にデータを
取り込むことはできないようです。
最初の質問が言葉足らずだったため回答者を混乱させる結果となってしまいましたが、
クエリを用いることなく、あらかじめ用意しておいたワークシート上の指定個所に、
コンマ区切りのデータの指定した個所(列)だけを取り込む方法を探しています。
良い方法がありましたらご教授お願いしたいと思います。
早速のご回答有難うございます。
実はこの方法でマクロ記録をしたことがあるのですが、この方法だと勝手に
クエリを使用した方法として記録されてしまいました。
Excel2007だからでしょうか?よくわかりません。
他に方法がございましたらご教授お願いしたいと思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) PowerQueryに詳しい方教えてください(Office365) 1 2022/07/24 21:11
- C言語・C++・C# [C言語] コメント文字列を無視して、数値データを読み込むプログラム部分について 5 2022/10/05 11:03
- Access(アクセス) accessでexcelを読み込む時のデータ型 1 2022/03/28 19:45
- Excel(エクセル) Excel Powerクエリーの質問。あるクエリに一致する行だけ除外できますか? 1 2022/08/22 13:48
- Excel(エクセル) EXCELの外部データ取得ができない 1 2023/03/23 09:03
- その他(プログラミング・Web制作) 2つのテキストファイルを比べて文字列を特定する方法を教えて下さい 5 2022/05/01 15:22
- Excel(エクセル) エクセルのVBAについて とあるサイトのコードを参考に、CSVの文字化けを直すVBAを作成しているの 7 2022/11/04 14:15
- その他(プログラミング・Web制作) pythonでクラスで複数のメソッドを利用する方法 2 2022/04/15 04:17
- その他(プログラミング・Web制作) プログラミング python pandas 固定長データの出力 2 2022/08/16 11:22
- C言語・C++・C# c言語の問題です 2 2023/07/21 10:51
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VB.net
-
エクセルのVBAで指定した行数の...
-
各個体に対する平均値の自動計...
-
Excel VBAでオートフィルタで抽...
-
エクセルで空白行を削除する ...
-
【VBA】条件に一致しない行を削...
-
EXCEL マクロで下から10行目ま...
-
空白を複数行一気に挿入するには?
-
エクセルのデータがない行には...
-
エクセルで階層図を作る方法
-
【VBA】条件に一致しない行を削...
-
数値に見えるものはすべて数値...
-
Excel97 指定した行だけマク...
-
マクロで最終行を取得してコピ...
-
エクセルVBAで3つ以上の複...
-
Excel マクロ 検索結果を別シ...
-
[EXCEL VBA]指定した文字と文字...
-
【マクロ】A列最終行までを、カ...
-
エクセルマクロ セル内の値の...
-
VBA 複数列コンボボックス 値の...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
マクロで最終行を取得してコピ...
-
数値に見えるものはすべて数値...
-
【VBA】条件に一致しない行を削...
-
エクセルのデータがない行には...
-
エクセルで空白行を削除する ...
-
Excel VBAでオートフィルタで抽...
-
VB.net
-
【VBA】条件に一致しない行を削...
-
Excel マクロ 検索結果を別シ...
-
列から特定の文字列検索→該当以...
-
【マクロ】A列最終行までを、カ...
-
マクロにて指定の文字間の文字...
-
Excel97 指定した行だけマク...
-
EXCEL VBAでA列にある空白行よ...
-
vbaエクセルマクロについて she...
-
【至急】Excel 同一人物の情報...
-
エクセルで階層図を作る方法
-
各個体に対する平均値の自動計...
-
テキストファイル読み込みにお...
-
excel2021で実行できないマクロ...
おすすめ情報