フォルダ内にある複数のCSVファイルをマージする為に
以下のコードを入力しましたがコンパイルエラーが起きてしまい 直せません・・・
Sub csvmerge()
wpath = Range("B3")
wfile = Dir(wpath & "\")
flag = 0
Do While wfile <> ""
If InStr(wfile, ".csv") Then
flag = flag + 1
If flag = 1 Then
FileCopy wpath & "\" & wfile, ThisWorkbook.Path & "\output.csv"
Open ThisWorkbook.Path & "\output.csv" For Output As #1
Close #1
End If
Open ThisWorkbook.Path & "\output.csv" For Append As #1
Open wpath & "\" & wfile For Input As #2
Do Until EOF(2)
Line Input #2, w_str
Print #1, w_str
Loop
Close #2
Close #1
End If
wfile = Dir()
Loop
MsgBox "マージ完了", vbInformation
End Sub
コンパイルエラーが起きたのは
FileCopyからAs #1までと
End Ifの後の
OpenからAs #1
の部分です。
どうかよろしくお願いします。
No.9
- 回答日時:
画像の切り取りはスマホでなくsnipping toolを使ってください。
(アクセサリにあります)そうすると見やすくなります。
この画像もsnipping toolを使っています。
ツールの紹介ありがとうございます。仕事用のPCではネットに繋がらないように設定をしているので
参考にしたサイトも今回の質問も全てスマホからなのでもしかしたらそこで間違えているのかもしれません。コードをコピペ出来ず手入力なので余計なところでスペースや改行が入っているのかもしれません。もう一度確認してみます。
No.8
- 回答日時:
ご質問に聞いたコードを逆にコピペで、、どうでしょう。
コピペでエラー出ませんよ?改行、&の後の半角スペース、自ブックの保存(ThisWorkbook.Path )取得の為
No.7
- 回答日時:
図の添付に関してですが、長辺のピクセル数が500ピクセルを超えると勝手に縮小されるようです。
長辺をトリミングするだけで見やすくなりますよ。ただ今回はコードの問題ではなく「wpath」に入っている文字列のような気がします。
No.2
- 回答日時:
Option Explicit がないので、変数宣言は、した方がいいですよカードを発行する程度として(VBA)
コンパイルエラーは、出力されませんでした。実際にコードに手を加えず、output.csvなどを作成して
環境を整え実行した場合。Windows10 Office Excel2016 1909(クイック)
ただし、実行内容(処理内容)が希望のものなのかは、判断できませんでした。。
コンパイルと言う意味では問題ないですが、実行と言う意味では、
As #1、#2 を FreeFileなどにするとか 参考:http://officetanaka.net/excel/vba/function/FreeF …
If InStr(wfile, ".csv") Then
flag = flag + 1
If flag = 1 Then
FileCopy wpath & "\" & wfile, ThisWorkbook.Path & "\output.csv"
Open ThisWorkbook.Path & "\output.csv" For Output As #1
Close
ここは、CSVファイルがなければ飛ぶから良いのですが、、
wpath にCSVがあった場合に、ThisWorkbook.Path & "\output.csv" が無ければエラーになります。
Open ThisWorkbook.Path & "\output.csv" For Append As #1
も、"\output.csv"が無ければエラーになります。
また、作成時のデバックで作成ブックを保存していなければ、当然エラーになりますね。
コンパイルエラー、実行時エラーの詳細を記載した方が良いと思います。
他にも気になる点が、、ありますが、エラーに関してなので割愛します。
No.1
- 回答日時:
こちらでは「コンパイル エラー:変数が定義されていません。
」エラーしか出ませんでした。これでしたら下の4行が無いだけです。
Dim WPath As String
Dim WFile As String
Dim Flag As Long
Dim W_Str As String
ありがとうございます。
その4行を入れ忘れていました。ただ構文エラーが無くならないのでまだ動かせていない状態です
https://excelkamiwaza.com/csvmerge.html
このサイトを見ながら真似したのですが!詳しい説明がなく
分からない状態です。
良ければ解説をお願いします
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) Excelにて、フォルダ内のTextファイルをマクロで統合すると文字化けしてしまう時の解消コード 4 2023/01/01 07:32
- Excel(エクセル) マクロでテキストファイルを読み込んだ際の最終セルにデータと改行が含まれる問題の改善方法 2 2022/03/25 16:50
- Visual Basic(VBA) フォルダの場所を可変にしたいです(マクロ) 4 2023/05/11 10:00
- Visual Basic(VBA) 複数のcsvファイルをExcelに一括変換したい 2 2023/03/03 12:44
- Visual Basic(VBA) 複数csvを横に追加していくマクロについて 2 2023/04/25 09:19
- Visual Basic(VBA) ExcelVBAに関する質問 3 2023/02/17 10:47
- Visual Basic(VBA) Excel VBA でデータ転記について 1 2023/03/07 19:11
- Visual Basic(VBA) VBAのユーザーフォームのテキストボックスに入力制限をしたい 6 2022/11/15 08:28
- Excel(エクセル) エクセル VBA For Next 繰り返しの書き方を教えてください 6 2022/09/01 14:11
- Excel(エクセル) エクセルのVBAについて とあるサイトのコードを参考に、CSVの文字化けを直すVBAを作成しているの 7 2022/11/04 14:15
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
python エラー
-
エクセルのエラーメッセージ「4...
-
適切な変換関数が存在しない???
-
visual C++ でビルドの中止がで...
-
コンパイルできません。
-
バッチからsqlplusの接続エラー...
-
Excelのエラーで困ってます。
-
fortranでプログラムを実行する...
-
sys/time.hのインクルードがで...
-
デバッグ中のエラーのことで教...
-
Fortran コンパイルエラーについて
-
dos.hについて
-
C言語でpgm形式の画像を読み込...
-
エクセルでマクロを実行すると...
-
HEWを使用しているのですが、こ...
-
SQLServerについて
-
Handlesについて
-
PC画面を録画するプログラムでd...
-
ビルド失敗 指定されたファイ...
-
ヘッダファイルでのFILE型引数...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
python エラー
-
エクセルのエラーメッセージ「4...
-
バッチからsqlplusの接続エラー...
-
Excelのエラーで困ってます。
-
HEWを使用しているのですが、こ...
-
適切な変換関数が存在しない???
-
VB2008で定数に色の設定をした...
-
fortranでプログラムを実行する...
-
BC30002: 型 'ListItem' が定義...
-
VBAでファイルを開くプログラム...
-
sys/time.hのインクルードがで...
-
error C3867 関数呼び出しには...
-
デバッグ中のエラーのことで教...
-
visual C++ でビルドの中止がで...
-
LPCWSTRとchar
-
RightとLeft関数のライブ...
-
Handlesについて
-
multiple definitionというエラー
-
ACCESSのDate関数のエラー表示...
-
WindowsからLinuxへの移植
おすすめ情報
今の時点でこのような状態です。
画像が見えずらくて、すみません。
コンパイルエラー:修正候補:式
と出ています
見えますでしょうか?
Excelを使っているPCがネットに繋げない為スマホからですが