アプリ版:「スタンプのみでお礼する」機能のリリースについて

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のやり方が分からず
ご教示いただきたく。
よろしくお願いいたします。

「VBAで特定の場所にあるCSVファイル(」の質問画像

質問者からの補足コメント

  • 失礼いたしました。
    画像アップいたしました。
    よろしくお願い致します。

    https://gyazo.com/00a9683a2d858348e5b2aa88784704e6

      補足日時:2023/05/23 22:34
  • 不明点多く申し訳ありません。
    よろしくお願い致します。

    ①CSVファイルの拡張子は、.CSV で間違いないでしょうか。
    →.csvで間違いありません。

    ②ファイルは昇順で取得という条件が付いてますが、昇順に取得できるかどうかは、
    ファイル名に依存します。
    具体的には、どのようなファイル名になっているのでしょうか?
    →LS?.??_L0?.csv ?に数字が入って変動します。

    ③CSVファイルのセパレータは、カンマで間違いないでしょうか。
    →セパレータはカンマになります。

    ④1行目から7行目までが、空白行になっています。
    →実際は1行目から7行目も文字や数字が入っております。使わない場所だと思い文字等を消しておりました。

    ⑤CSVファイルの個々の項目は、ダブルクートで囲まれていますか。
    →囲まれていません。

    よろしくお願いいたします。

      補足日時:2023/05/24 16:20
  • 補足要求

    1.あなたから提示された添付図の③についてです。
    ①B1,D1,F1・・にCSVファイル名を設定しますが、拡張子を含めて、設定しますか。
    それとも拡張子を除いて設定しますか。
    →拡張子は除いて設定お願いします

    ②U列に添付図②赤色の部分のセル、V列に添付図②オレンジの色のセルを設定しますが、
    この場合、CSVファイルが9個のケースであってますか。
    →あっています。

    又、CSVファイルが1つの場合は、E列(赤)とF列(オレンジ)に設定すると考えて良いですか。
    →そちらでお願いします

    3.マクロを組み込んだブックに、あなたが提示した添付図③のシートを含めますがよろしいでしょうか。
    →お願いします
    又、この添付図③のシート名は、何でしょうか。
    →測定結果 でお願いします

      補足日時:2023/05/24 20:43
  • 2.あなたが提示した要件の
    >3.はできるなら
    >1で出力した結果からExcelファイルの赤と橙の所に記載する方法も知りたいです。(③のイメージ)
    →こちらに関しては無視していただければ思います。
    よろしくお願い致します。

      補足日時:2023/05/24 20:44
  • 1.CSVファイルのファイル名ですが
    >LS?.??_L0?.csv ?に数字が入って変動します。

    ?は数字1桁で間違いないでしょうか。
    →1桁で間違いありません。

    2.あなたから提示された添付図の③のコメント(A列)ですが、
    A4~A27のセルには、何を設定すれば良いでしょうか。
    →最初に読み取ったcsvファイルのB9〜B32を入れたく。

    よろしくお願い致します。

      補足日時:2023/05/25 10:37
  • ありがとうございます。
    思ったような結果になりました。

    追加で申し訳無いのですが
    1.小数点第3位で四捨五入を行いたい
    2.画面更新などを無くして高速化を行いたい
     画面更新以外もあれば設定頂きたく

    上記2点ご教示頂きたく
    よろしくお願い致します。

      補足日時:2023/05/25 16:24
  • 2.CSVファイルは何件ほどありますか。
    上記の改修を行っても時間がかかりますでしょうか。
    →CSVファイルは6件で40秒から30秒に短縮はされました。ファイルを開かないといけないから時間がかかる感じでしょうか?

    3.小数点第3位で四捨五入
    →書式設定で対応致します

      補足日時:2023/05/25 17:30
  • だいたい1ファイル30列、32行で1つのファイルができています。
    大きいでしょうか?

      補足日時:2023/05/25 19:09
  • 他でCADのソフトを使用していた為遅くなったと思われます。
    消して作業すると2秒程度で終わりました。
    お手数おかけいたしました。

      補足日時:2023/05/26 08:05
  • 何度もすいません。最後のお願いとなります。
    画像のように文字に色をつける事はできますでしょうか?
    右に転記する部分の数字に色をつけたいです。

    「VBAで特定の場所にあるCSVファイル(」の補足画像10
      補足日時:2023/05/26 09:43

A 回答 (11件中1~10件)

>画像のように文字に色をつける事はできますでしょうか?


下記にアップしました。
https://ideone.com/d7rUtb
    • good
    • 0
この回答へのお礼

助かりました

ありがとうございました。
大変助かりました。
色々ご迷惑をおかけいたしました。

お礼日時:2023/05/26 10:45

>他でCADのソフトを使用していた為遅くなったと思われます。


>消して作業すると2秒程度で終わりました。

原因が判って良かったです。他に問題はないでしょうか。
    • good
    • 0

>だいたい1ファイル30列、32行で1つのファイルができています。


>大きいでしょうか?

そのサイズなら普通は、全然問題ないです。
上記のサイズより大きめのCSVファイルを6つ作成し、こちらで実行してみました。所要時間は1.3秒でした。(当方メモリ12Gバイト Core-i5)
失礼ながら、あなたの使用されているPCのスペックが非力なのが原因かと思われます。(たぶん、CSVファイルをexcelブックとしてオープンしているのが原因かと思われます)
非力なPCでも、所要時間が短くなるようにするには、やりかたを変えないとだめなような気がします。対策を考えますので、しばらくお待ちください。
結果は明日以降になりますが、あまり期待しないでください。
    • good
    • 0

>CSVファイルは6件で40秒から30秒に短縮はされました。


>ファイルを開かないといけないから時間がかかる感じでしょうか?

6件で30秒はちょっとかかりすぎですね。
CSVファイルをexcel上に開いているのが、原因かと思われますが、
実際のところ1つのCSVファイルは、何列で何行あるのでしょうか。
提示された図では、5列(E列)、32行なので、こちらでは、そのサイズのCSVファイルで動作確認しています。
こちらで6ファイルで実行すると1.3秒程度で終わります。
1つのCSVファイルの行、又は列が、かなり大きいと思われます。
    • good
    • 0

1.修正版を下記にアップしました。


https://ideone.com/HhG8a8

修正点は下記の2点です。
①表示更新の抑止
②所要時間の表示

2.CSVファイルは何件ほどありますか。
上記の改修を行っても時間がかかりますでしょうか。

3.小数点第3位で四捨五入ということは、小数点以下2桁まで表示ということでしょうか。
表示対象の列(あるいは全列)を選択して、書式設定で、
分類:数値、小数点以下の桁数:2 を設定すれば良いかと思いますが、
如何でしょうか。
「VBAで特定の場所にあるCSVファイル(」の回答画像7
    • good
    • 0

下記URLにアップしました。


https://ideone.com/f34KvR

Const Folder As String = "D:\goo\data9"
がCSVファイルを格納しているフォルダです。
あなたの環境にあわせて適切に設定してください。
シート:測定結果 を予め作成しておいてください。(空のシートで構いません)
    • good
    • 0

補足ありがとうございました。


追加の補足要求です。
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のセルには、何を設定すれば良いでしょうか。
①何かをマクロで設定する。
②マクロでは設定しない。(更新しない)

①の場合は、具体的に設定内容を提示してください。
    • good
    • 0

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ファイルのオレンジと赤のセルを使うのでしょうか。

この件について、詳しく説明していただけませんでしょうか。
    • good
    • 0

補足ありがとうございました。


追加の補足要求です。
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.マクロを組み込んだブックに、あなたが提示した添付図③のシートを含めますがよろしいでしょうか。
又、この添付図③のシート名は、何でしょうか。
    • good
    • 0

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

それとも添付図②のようにダブルクオートで囲まていない状態ですか。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!