![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
一つのフォルダ内に格納されているCSVファイルの中身を展開し、
一つのシートに全てのCSVファイルの中身を反映させる というマクロなのですが
QueryTablesを使い、ファイルを読み込み処理している時、
●1
読み込んだデータのA列目が99以上の数値だったとき
そのセルは黄色で塗りつぶし、何も書かず、次のセルから読み込む。
【一つ目のCSVデータ】
A B C D
1 20 12 14 67
2 98 45 12 57
3 67 58 82 91
4 30 64 21 23
【二つ目のCSVデータ】
A B C D
1 99 12 14 67 ←この列は黄色で塗りつぶし、2行目から読み込んでいく
2 98 45 12 57
3 67 58 82 91
4 30 64 21 23
●2
読み込んだデータのA列目が0だった場合、前回読み込んだCSVファイルの最終A列目
を優先し
二つ目のデータの1列目は無視し、2列目から読み込む
【一つ目のCSVデータ】
A B C D
1 20 12 14 67
2 98 45 12 57
3 67 58 82 91
4 30 64 21 23
【二つ目のCSVデータ】
A B C D
1 99 12 14 67 ←この列は無視して2列目から読み込む
2 98 45 12 57
3 67 58 82 91
4 30 64 21 23
というようなマクロを現在作成中なのですが
途中経過として
QueryTablesの中身をこのように作ってみました。
まだVB不慣れなものでこのQueryTablesだとIF文で記述した箇所をスルーして処理を
行ってしまうので
困っております
↓↓
'Dir関数を使って指定フォルダ内csvファイルを順次処理
MyFnm = Dir(MyFol & "*.csv")
Do Until Len(MyFnm) = 0&
i = i + 1
'データエリアを取得してセット先を変更
n = IIf(n = 0, 1, n + n1)
'外部データ取り込みを利用
With .QueryTables.Add(Connection:="TEXT;" & MyFol & MyFnm, _
Destination:=.Range("A" & n))
.AdjustColumnWidth = False
.TextFilePlatform = xlWindows
.TextFileStartRow = 2
'【csvファイルのM列を読み込んだときM列目の1行目が99%以上なら空白黄
文字】
If Range("M1") >= 99 Then
Range("M1").Font.ColorIndex = 3
'【読み込んだcsvファイルでM列目の1行目が0ならば無視して2行目から読
み込む】
ElseIf Range("M1") = 0 Then
.TextFileStartRow = 3
'【読み込んだcsvファイルでM列目の1行目が空白ならば空白のまま】
ElseIf Range("M1") = "" Then
Range("M1").FontColor = 1
Else
End If
.TextFileCommaDelimiter = True
.Refresh False
n1 = .ResultRange.Rows.Count
.Parent.Names(.Name).Delete
.Delete
End With
'次のファイルへ
MyFnm = Dir()
Loop
Sleep (2000)
End With
長々となってしまいましたがご教授よろしくお願いします><;
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルのVBAについて とあるサイトのコードを参考に、CSVの文字化けを直すVBAを作成しているの 7 2022/11/04 14:15
- Visual Basic(VBA) 複数csvを横に追加していくマクロについて 2 2023/04/25 09:19
- Visual Basic(VBA) 3つのプロシージャをまとめたら実行時エラー発生で対応不能 6 2022/05/17 01:47
- Visual Basic(VBA) フォルダの場所を可変にしたいです(マクロ) 4 2023/05/11 10:00
- その他(プログラミング・Web制作) Pythonで、データファイルと列名ファイルを1つのファイルにしたいです。 1 2023/07/27 20:29
- Excel(エクセル) PowerQueryに詳しい方教えてください(Office365) 1 2022/07/24 21:11
- Excel(エクセル) 【困っています】VBA 追加処理の記述を教えてください。 1 2022/08/25 22:54
- その他(プログラミング・Web制作) pythonでクラスで複数のメソッドを利用する方法 2 2022/04/15 04:17
- Visual Basic(VBA) ファイル全てを .xlsm に変更したところ、プログラムが途中で落ちてしまっています 17 2022/12/07 12:03
- Visual Basic(VBA) VBAのユーザーフォームのテキストボックスに入力制限をしたい 6 2022/11/15 08:28
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルの指数を無効にしたい
-
複数のCSVファイルを横に並べて...
-
大量のCSVデータを1つのエ...
-
VBAでCSVの1行目だけを書き換え...
-
二つのCSVファイルを照らし合わ...
-
EXCELにcsv形式の外部データを...
-
CSVファイルの結合(重複データ...
-
【VBA初心者】同じフォルダ内の...
-
excelインポート時の「実行時エ...
-
datファイル→csvファイル→datフ...
-
Outlook2003からOutlook2007へ...
-
エクセル終了時の保存確認メッ...
-
複数のデータ系列の線の太さを...
-
フォルダ内の全ブックのシート...
-
エクセルでツールバーに「縮小...
-
ファイル名を今日の日付、時刻...
-
コピーしたファイルのマクロを...
-
ExcelVBAで今開いているユーザ...
-
マクロを消すマクロは不可能?
-
エクセルマクロを有効にしない...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルの指数を無効にしたい
-
複数のCSVファイルを横に並べて...
-
excelインポート時の「実行時エ...
-
大量のCSVデータを1つのエ...
-
VBAでCSVの1行目だけを書き換え...
-
複数のcsvファイルを1つのEXCEL...
-
Excel VBAを使った複数のCSVフ...
-
CSVファイルの結合(重複データ...
-
EXCELLの動きが遅い
-
「ほかのアプリケーションを無...
-
datファイル→csvファイル→datフ...
-
EXCELにcsv形式の外部データを...
-
二つのCSVファイルを照らし合わ...
-
EXCELで外部データの取り込みが...
-
【VBA初心者】同じフォルダ内の...
-
【エクセル VBA】CSVファイルの...
-
Accessにエクセルからデータを...
-
VBAで一定期間の名簿を検索、抽...
-
同じ形のCSVファイルを複数同時...
-
複数個のascファイルを1つ...
おすすめ情報