VBAで特定の場所にあるCSVファイル(複数)から特定場所を抜き出してExcelに転記したいです。
画像①②がCSVファイルの中身になります。(①と②は同じファイルで③の転記のイメージの為分けてます)
画像③が転記後のExcelファイルのイメージになります。
①と②の色の部分が③転記のイメージになります。
1.CSVファイル(①のイメージ)からD8〜E32までを抜き出してExcelファイル(③)B3〜C27に転記。二つ目のファイルはDに。次はF.H.Jと転記していく。それに合わせて③の黄色部分(B1.D1.F1・・・)に抜き取ったファイル名を記載。ファイルは昇順で取得していく。
2.CSVファイル(②のイメージ)からE13〜E16、E21〜E24、E29〜E32を1.で転記した最後の行から一行空けて転記。
D9〜D12、D17〜D20、D25〜28はその次の行に転記。
3.はできるなら
1で出力した結果からExcelファイルの赤と橙の所に記載する方法も知りたいです。(③のイメージ)
1はファイル毎に転記。
2は一列にまとめて転記。
2は何となく出来たのですが1のやり方が分からず
ご教示いただきたく。
よろしくお願いいたします。
No.11ベストアンサー
- 回答日時:
No.10
- 回答日時:
>他でCADのソフトを使用していた為遅くなったと思われます。
>消して作業すると2秒程度で終わりました。
原因が判って良かったです。他に問題はないでしょうか。
No.9
- 回答日時:
>だいたい1ファイル30列、32行で1つのファイルができています。
>大きいでしょうか?
そのサイズなら普通は、全然問題ないです。
上記のサイズより大きめのCSVファイルを6つ作成し、こちらで実行してみました。所要時間は1.3秒でした。(当方メモリ12Gバイト Core-i5)
失礼ながら、あなたの使用されているPCのスペックが非力なのが原因かと思われます。(たぶん、CSVファイルをexcelブックとしてオープンしているのが原因かと思われます)
非力なPCでも、所要時間が短くなるようにするには、やりかたを変えないとだめなような気がします。対策を考えますので、しばらくお待ちください。
結果は明日以降になりますが、あまり期待しないでください。
No.8
- 回答日時:
>CSVファイルは6件で40秒から30秒に短縮はされました。
>ファイルを開かないといけないから時間がかかる感じでしょうか?
6件で30秒はちょっとかかりすぎですね。
CSVファイルをexcel上に開いているのが、原因かと思われますが、
実際のところ1つのCSVファイルは、何列で何行あるのでしょうか。
提示された図では、5列(E列)、32行なので、こちらでは、そのサイズのCSVファイルで動作確認しています。
こちらで6ファイルで実行すると1.3秒程度で終わります。
1つのCSVファイルの行、又は列が、かなり大きいと思われます。
No.7
- 回答日時:
1.修正版を下記にアップしました。
https://ideone.com/HhG8a8
修正点は下記の2点です。
①表示更新の抑止
②所要時間の表示
2.CSVファイルは何件ほどありますか。
上記の改修を行っても時間がかかりますでしょうか。
3.小数点第3位で四捨五入ということは、小数点以下2桁まで表示ということでしょうか。
表示対象の列(あるいは全列)を選択して、書式設定で、
分類:数値、小数点以下の桁数:2 を設定すれば良いかと思いますが、
如何でしょうか。
No.6
- 回答日時:
下記URLにアップしました。
https://ideone.com/f34KvR
Const Folder As String = "D:\goo\data9"
がCSVファイルを格納しているフォルダです。
あなたの環境にあわせて適切に設定してください。
シート:測定結果 を予め作成しておいてください。(空のシートで構いません)
No.5
- 回答日時:
補足ありがとうございました。
追加の補足要求です。
1.CSVファイルのファイル名ですが
>LS?.??_L0?.csv ?に数字が入って変動します。
?は数字1桁で間違いないでしょうか。
正しいファイル名の例
LS1.01_L09.csv
LS9.99_L01.csv
誤ったファイル名の例
(誤ったファイル名を検出時、エラーにしてマクロを停止します)
LS10.01_L09.csv
LS1.01_L099.csv
2.あなたから提示された添付図の③のコメント(A列)ですが、
A4~A27のセルには、何を設定すれば良いでしょうか。
①何かをマクロで設定する。
②マクロでは設定しない。(更新しない)
①の場合は、具体的に設定内容を提示してください。
No.4
- 回答日時:
No3です。
No3の項番2に誤りがありました。No3の項番2は、無視してください。下記が正しい項番2になります。
補足要求
2.あなたが提示した要件の
>3.はできるなら
>1で出力した結果からExcelファイルの赤と橙の所に記載する方法も知りたいです。(③のイメージ)
についてですが、この意味がよくわかりません。
あなたが提示した添付図③のR列,S列のことでしょうか。
この図をみると
R列に9番目のCSVファイルのD列(D9~D32)を設定し、
S列に9番目のCSVファイルのE列(E9~E32)を設定するように見えます。
更に、オレンジと赤のセルに設定を行うのでしょうか?
その場合、何番目のCSVファイルのオレンジと赤のセルを使うのでしょうか。
この件について、詳しく説明していただけませんでしょうか。
No.3
- 回答日時:
補足ありがとうございました。
追加の補足要求です。
1.あなたから提示された添付図の③についてです。
①B1,D1,F1・・にCSVファイル名を設定しますが、拡張子を含めて、設定しますか。
それとも拡張子を除いて設定しますか。
②U列に添付図②赤色の部分のセル、V列に添付図②オレンジの色のセルを設定しますが、
この場合、CSVファイルが9個のケースであってますか。
又、CSVファイルが1つの場合は、E列(赤)とF列(オレンジ)に設定すると考えて良いですか。
③添付図②の内容が、下記URLの状態だとします。
https://gyazo.com/66d5d6559cddeea8b18ffb8805f2b968
U列、V列に設定される内容は、下記URLの内容であってますか。
https://gyazo.com/b2975942b0bce28b9e10d568ab00ac2b
(1番目のCSVファイル:4~15行目に設定、2番目のCSVファイル:16~27行目に設定、・・・)
2.あなたが提示した要件の
>3.はできるなら
>1で出力した結果からExcelファイルの赤と橙の所に記載する方法も知りたいです。(③のイメージ)
についてですが、この意味がよくわかりません。
あなたが提示した添付図③のR列,S列のことでしょうか。
この図をみると
R列に6番目のCSVファイルのD列(D9~D32)を設定し、
S列に6番目のCSVファイルのE列(E9~E32)を設定するように見えます。
更に、オレンジと赤のセルに設定を行うのでしょうか?
その場合、何番目のCSVファイルのオレンジと赤のセルを使うのでしょうか。
この件について、詳しく説明していただけませんでしょうか。
3.マクロを組み込んだブックに、あなたが提示した添付図③のシートを含めますがよろしいでしょうか。
又、この添付図③のシート名は、何でしょうか。
No.2
- 回答日時:
No1です。
画像のアップありがとうございました。不明の点が多くあり、補足要求が続くかと思います。
以下補足要求です。
1.CSVファイルについてです。
①CSVファイルの拡張子は、.CSV で間違いないでしょうか。
②ファイルは昇順で取得という条件が付いてますが、昇順に取得できるかどうかは、
ファイル名に依存します。
具体的には、どのようなファイル名になっているのでしょうか?
③CSVファイルのセパレータは、カンマで間違いないでしょうか。
④1行目から7行目までが、空白行になっています。
excelに表示した状態が、下記URLだとすると
添付図①
https://gyazo.com/66d5d6559cddeea8b18ffb8805f2b968
CSVファイルをエディタ(メモ帳等)で開いた場合は、下記URLのようになっていますか。
添付図②
https://gyazo.com/6739189326f2e13242b6a7ec1b715dd3
(赤線で囲んだところがないと1行目から7行目が空白になりません)
⑤CSVファイルの個々の項目は、ダブルクートで囲まれていますか。
下記URLのようなケース
添付図③
https://gyazo.com/7ed3d113ce2df8f5de0496b6ac8419a4
それとも添付図②のようにダブルクオートで囲まていない状態ですか。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) エクセルVBA 4 2022/05/14 00:51
- その他(データベース) Excel VBA 転記について 1 2022/04/20 16:55
- Visual Basic(VBA) tatsumaru77様 昨日回答して頂いたものです。 すみませんが、昨日の質問で1つ補足があります 1 2022/05/15 15:06
- Visual Basic(VBA) エクセルVBAについて 8 2022/07/13 22:41
- その他(Microsoft Office) マクロVBAについて 1 2022/09/06 18:12
- Excel(エクセル) Excel VBAどこが間違ってますか? 4 2023/07/17 10:04
- HTML・CSS HTMLタグのあるCSVファイルを利用する方法 4 2023/03/19 14:41
- Excel(エクセル) Excelで、別シートの表のステータスに伴った動的な自動転記をしたいです。 2 2023/06/14 15:56
- Visual Basic(VBA) Excel VBAで教えてください 4 2022/05/11 22:20
- Visual Basic(VBA) 複数ブックの統合について Excel VBA 1 2022/05/13 09:48
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Latexで図番号だけを「図1.1」...
-
公文書のxmlファイルの開き方が...
-
#include <Windows.h>というヘ...
-
Word VBA MSGBOX 内で降順表示
-
binファイルを解凍したいの...
-
参照するファイルをワイルドカ...
-
C言語---ファイルに出力したデ...
-
アクセス 壊れた? 「ファイ...
-
CSSを1ページに1枚作るのって変...
-
【VBS】 iniファイルの特定部...
-
エクセルファイルが複数同時に...
-
.NETアプリを作ったときの .man...
-
バッチ処理で追記コピーしたい
-
JRのjsonファイルって使って大...
-
jarファイル
-
コマンドプロンプトで、指定し...
-
exeファイルが作れない(windows10)
-
ラッパーって何なんでしょう・...
-
warファイルをEclipseでプロジ...
-
jarファイルはzipファイルと同...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
iPhoneでXMLファイルを開くには...
-
公文書のxmlファイルの開き方が...
-
binファイルを解凍したいの...
-
アクセス 壊れた? 「ファイ...
-
.NETアプリを作ったときの .man...
-
リンクの張り付けかたを教えて...
-
#include <Windows.h>というヘ...
-
jarファイル
-
Seasar2のdiconファイルの読み方
-
Word VBA MSGBOX 内で降順表示
-
監視ツールを入れさせられまし...
-
CSSを1ページに1枚作るのって変...
-
コマンドプロンプトで、指定し...
-
ファイルが開かれているかどう...
-
exeファイルをデータ転送サービ...
-
パイソンでpy ファイルと p...
-
exeファイルの中身を見る方法は...
-
Latexで図番号だけを「図1.1」...
-
参照するファイルをワイルドカ...
-
バッチ処理で追記コピーしたい
おすすめ情報
失礼いたしました。
画像アップいたしました。
よろしくお願い致します。
https://gyazo.com/00a9683a2d858348e5b2aa88784704e6
不明点多く申し訳ありません。
よろしくお願い致します。
①CSVファイルの拡張子は、.CSV で間違いないでしょうか。
→.csvで間違いありません。
②ファイルは昇順で取得という条件が付いてますが、昇順に取得できるかどうかは、
ファイル名に依存します。
具体的には、どのようなファイル名になっているのでしょうか?
→LS?.??_L0?.csv ?に数字が入って変動します。
③CSVファイルのセパレータは、カンマで間違いないでしょうか。
→セパレータはカンマになります。
④1行目から7行目までが、空白行になっています。
→実際は1行目から7行目も文字や数字が入っております。使わない場所だと思い文字等を消しておりました。
⑤CSVファイルの個々の項目は、ダブルクートで囲まれていますか。
→囲まれていません。
よろしくお願いいたします。
補足要求
1.あなたから提示された添付図の③についてです。
①B1,D1,F1・・にCSVファイル名を設定しますが、拡張子を含めて、設定しますか。
それとも拡張子を除いて設定しますか。
→拡張子は除いて設定お願いします
②U列に添付図②赤色の部分のセル、V列に添付図②オレンジの色のセルを設定しますが、
この場合、CSVファイルが9個のケースであってますか。
→あっています。
又、CSVファイルが1つの場合は、E列(赤)とF列(オレンジ)に設定すると考えて良いですか。
→そちらでお願いします
3.マクロを組み込んだブックに、あなたが提示した添付図③のシートを含めますがよろしいでしょうか。
→お願いします
又、この添付図③のシート名は、何でしょうか。
→測定結果 でお願いします
2.あなたが提示した要件の
>3.はできるなら
>1で出力した結果からExcelファイルの赤と橙の所に記載する方法も知りたいです。(③のイメージ)
→こちらに関しては無視していただければ思います。
よろしくお願い致します。
1.CSVファイルのファイル名ですが
>LS?.??_L0?.csv ?に数字が入って変動します。
?は数字1桁で間違いないでしょうか。
→1桁で間違いありません。
2.あなたから提示された添付図の③のコメント(A列)ですが、
A4~A27のセルには、何を設定すれば良いでしょうか。
→最初に読み取ったcsvファイルのB9〜B32を入れたく。
よろしくお願い致します。
ありがとうございます。
思ったような結果になりました。
追加で申し訳無いのですが
1.小数点第3位で四捨五入を行いたい
2.画面更新などを無くして高速化を行いたい
画面更新以外もあれば設定頂きたく
上記2点ご教示頂きたく
よろしくお願い致します。
2.CSVファイルは何件ほどありますか。
上記の改修を行っても時間がかかりますでしょうか。
→CSVファイルは6件で40秒から30秒に短縮はされました。ファイルを開かないといけないから時間がかかる感じでしょうか?
3.小数点第3位で四捨五入
→書式設定で対応致します
だいたい1ファイル30列、32行で1つのファイルができています。
大きいでしょうか?
他でCADのソフトを使用していた為遅くなったと思われます。
消して作業すると2秒程度で終わりました。
お手数おかけいたしました。
何度もすいません。最後のお願いとなります。
画像のように文字に色をつける事はできますでしょうか?
右に転記する部分の数字に色をつけたいです。