• ベストアンサー
  • 困ってます

EXCEL- VBA(CSVファイル→インポート)

A列~F列になる複数(100個以上)のCSVファイルをエクセルファイルにインポートして更に個別にエクセルファイルとして保存したいのですが VBAでできるのでしょうか? 記憶マクロでやったらどうにもうまくいきません。 エクセルのVBAについては ほとんど知識ゼロなので困っております。 大変厚かましくありますが どなた様かご教授お願いできたらと思います!! 【元のファイルの状態】   ◆ファイル名「*.CSV」*は文字数それぞれ違います。   <例:tanaka.xls だったり 09福島.xls>  ◆入っているドライブ   TEXT;C:\Documents and Settings\AA_B\デスクトップ\練習  ◆A~F列にデータが入っている 【やりたいこと】    (1)A~F列はカンマ区切りで全て文字列としたい  (2)元のファイル名でエクセルとして保存したい「*.XLS」

共感・応援の気持ちを伝えよう!

  • 回答数3
  • 閲覧数838
  • ありがとう数3

質問者が選んだベストアンサー

  • ベストアンサー
  • 回答No.3
  • shkwta
  • ベストアンサー率52% (966/1825)

何度も申し訳ありません。括弧を入れてください。 Set wb = Workbooks.Open("C:\Documents and Settings\AA_B\デスクトップ\練習\×××.csv")

共感・感謝の気持ちを伝えよう!

質問者からのお礼

さっそくありがとうございます!! 今 試しにやってみます

質問者からの補足

うーん。。。やっぱり完全なコードができないとできません 勉強不足でスミマセン。。。

関連するQ&A

  • EXCEL VBAでカンマ区切りCSVファイルに変換する方法

    EXCELで作成したシートをVBAでカンマ区切りCSVファイルに変換する方法を教えてください 下記のプログラムではXLSファイルで保存されますが、カンマ区切りCSVにする方法が分かりませんでした。 '保存先パス名 NetPath = "V:\AAAA\" ' セルA1 には、ファイル名記入 BkName = ThisWorkbook.Sheets("Sheet1").Range("A1").Text & ".XLS" 補足:マクロを実行した時に自動でネットワークドライブ(V:\AAAA)へ保存、ファイル名はSheet1のセルA1の文字をファイル名として 保存するようにしたいです。 宜しくお願い致します。

  • ExcelのVBAでCSVを読み込むと通貨になる

    Excel2010のVBAでCSVファイルを読み込んで処理させたいのですが、読み込んだデータをExcelが勝手に別のデータに変えてしまうので困っています。 例えば、123,456というデータは、フィールドにカンマがあるので、CSVでは"123,456"となりますが、これを以下のようなVBAのコードで読み込ませると、書式が通貨として扱われてしまって、データも123456になってしまいます。文字列として読み込まれていれば正しいデータとして読み込まれるように思うのですが、文字列として読み込ませる方法が分かりません。正しく元のデータ123,456のまま読み込ませるにはどうすればいいのでしょうか。 なお、CSVの各フィールドにカンマやダブルクォーテーションが混在していると、各フィールドに分割する処理が複雑でよく分からないので、下記のコードのようにExcelの機能でCSVを各フィールドに分割される方法で読み込ませたいです。 よろしくお願いします。 Workbooks.Open Filename:= "file.csv"

  • 困っています!! ExcelをCSVファイルにしたあと。

    ご存知の方にとっては恥ずかしいくらいの質問かもしれませんが、どうか教えて下さい! win xp、Office2000を使用しています。 Excelでデータの編集が終わったあとに、ファイル形式をCSVで保存するよう言われ、入力後に「ファイルの名前を付けて保存」→ファイルの種類で「CSV」を選択して保存を致しました。 その際、ファイル名は「英小文字のみ.csv」にしています。 保存後、確認の為に再度そのファイルを開いたところ、 1、文字幅に合わせて大きさを変えた列幅が基準値に戻ってしまっている。 2、「文字列」を使用して、ゼロから始まる数字を打ち込んだ列がゼロを表示しない(01>1)、数字を全角で打ち込んでいるのに半角に戻ってしまう(15>15)。 という状態になってしまいます。 テキストエディタで確認したところ、きちんとカンマで区切られてはいるのですが、上記の2に関しては、半角になったままだったりと、入力した状態での表示ではありませんでした。 保存する際に、 「英小文字のみ.csv」はCSV(カンマ区切り)と互換性のない機能が含まれている可能性があります。 というメッセージが出ます。 Excelに関しては、まったくといっていいほど初心者です。苦手で逃げていた自分が悪いのですが…。 今回CSVというファイル形式も初めて知りました…。 NETで調べたりしてみたのですが、どうしてもわかりません。 CSVにしたあとに、通常1のようになってしまうものなのでしょうか? また、入力したままの状態が表示されるようにするには、どうしたらよいのでしょうか? ご存知の方がいらっしゃいましたら、ぜひお知恵を貸してください! よろしくお願い致します!

その他の回答 (2)

  • 回答No.2
  • shkwta
  • ベストアンサー率52% (966/1825)

訂正 set が抜けていました。 Set wb = Workbooks.Open "C:\Documents and Settings\AA_B\デスクトップ\練習\×××.csv"

共感・感謝の気持ちを伝えよう!

質問者からのお礼

お礼の順番が逆になりました。 自動マクロとHPで検索してやってみました。 何とか上手く行きました!! ご対応 本当にありがとうございます。

  • 回答No.1
  • shkwta
  • ベストアンサー率52% (966/1825)

基本形は Dim wb as workbook ・・・・ wb = Workbooks.Open "C:\Documents and Settings\AA_B\デスクトップ\練習\×××.csv" wb.SaveAs "(保存先フォルダ)\×××.xls" です。 ×××は直接書き込んでもいいし、シートに入力しておいて取り込んでもいいです。 ただ、知識ゼロ だと完全に作ったのをお答えしないといけないかもしれません(お望みなら、補足しておけば親切な人が作ってくれると思います)。

共感・感謝の気持ちを伝えよう!

関連するQ&A

  • Excel VBAにてCSVファイルを読みたい

    ExcelにてCSVファイルを読んで処理をしたい。 ただし、CSVファイルをExcelでopenすると遅いので、 VBAにてファイルとして読み込みで処理をしたいのですが、 皆さんは、どのように行っていますか? ※CSVファイルは、テキスト区切り→"(ダブルコーテーション)です  テキスト区切り無しであれば、1行読んで、カンマをsplitすれば良いと思いますが。。。。

  • ExcelでのCSVファイルの編集について、

    ExcelでのCSVファイルの編集について、 オートフィルタ機能を使いたいため、 ExcelでCSVファイルの編集しようとしているのですが、ちょっと苦戦しています。。。 私が試してみたこと 1.もとのCSVファイルの拡張子を○○.csv → ○○.txtに変更。   ↓ 2.Excelの「開く」からその○○.txtを読み込む。   ↓ 3.テキストファイルウィザードに従い、   1「カンマやタブなどの区切り文字によって~ 」にチェック   2「区切り文字」→ カンマ、「文字列の引用符」 → "   3「列のデータ形式」 → 文字列 ※090などの数字を、90と先頭の0を消されないように 上記のような手順でCSVファイルを取り込み、編集を終え、 保存する時は   「○○.txtにはテキスト(タブ区切り)と互換性のない機能が含まれている可能性があります。    この形式でブックを保存しますか?」 → このまま保存するため「はい」を選択 これでバッチリOK!…かと思われたのですが、 元の編集前の○○.txt は"名前","ヨミ","電話番号1", …… ""とカンマ区切りであったのが、 編集後の○○.txtは名前 ヨミ 電話番号1  …… タブ区切り(?) となってしまっています。 (CSVファイルとしてはタブ区切りでも問題ないのでしょうが…) どうすれば元のカンマ区切りの形式のまま保存できますでしょうか。 アドバイスよろしくお願い致します。

  • EXCEL VBAでのCSVファイルの編集

    CSVファイル(ダブルクォーテーション)形式のファイルをEXCEL VBAにて行の編集(削除)をした後、上書き保存をしたらダブルクォーテーション区切りではなくカンマ区切りのCSVファイルの形式になってしまいます。 ダブルクォーテーション区切りのCSVファイルで上書き保存する記述があれば教えて下さい。おそらくEXCELでCSV形式の上書きはCSV2の形式で保存されるみたいです。 困っています。どなたかお助け下さい。

  • エクセルの保存先によってファイルが開かない

    エクセルが壊れてしまったのか、マイドキュメントなどDocuments and Settingsより下の階層に保存したエクセルが開けなくなってしまいました。  アプリケーションから開くを選択すると問題ありません。 その前に拡張子xlsのファイルをエクセルと認識しなくなってしまったので フォルダオプション等で修正したのですが、何か修正方法があれば教えていただけますでしょうか? 他のアプリケーションの関係で再インストールはできれば避けたいのですが 表示されるエラーは以下のとおりです。 "C:\Documents.xlsは見つかりません。" "and.xlsは見つかりません。" "Settings\~\デスクトップ\ファイル名.xlsは見つかりませ。"

  • カンマ区切りCSVファイルをVBAで読み込みたい

    こんにちは。EXCELのVBAに詳しい方、どうか教えてください! カンマ区切りCSVファイルをEXCELに読み込みたいのですが、 CSVファイルのデータが金額のため、データ自体にもカンマが含まれていて、 金額のカンマでも分割されてEXCELのセルに収まってしまいます。 データの区切りのカンマと、金額のカンマを区別して読み込む良い方法はないでしょうか。 とても困っているので、お解りになる方どうかご回答をお願いいたします。 ・CSVファイルのデータ   1,000 , 2,000 , 1,500 , 3,000 , 1,000 , 2,500 , 2,000  ↑金額のカンマでデータが分割されないように読み込みたいのですが・・・

  • CSVファイルをエクセルで扱うときのカンマの使い方について

    よろしくお願いいたします。 CSVファイルをエクセルで読み込んで、 編集後、またCSVファイルとして保存したいと思います。 CSVファイルをエクセルで読み込んだとき、 エクセルの中の各セルを編集しようとすると、 文字の前にカンマがついていますが、 これがあるのと、ないのでどのような違いが出ますでしょうか。 困っています。 どなたかよろしくお願いいたします。 エクセルで編集時に、カンマを削除してしまうと、 何が起こりますか。 意図したようにCSVとして保存できないのでしょうか。

  • ExcelファイルをCSV 形式で保存するには?

    ExcelファイルをCSV 形式 (Windows、カンマ区切り) (*.csv)にして書類を提出するように言われたのですが、その方法について教えてください。 データの内容は会社の詳細で、1社につき100項目のデータがあり、それが50社あります。その場合、1社目のデータをA列に、2社目のデータをB列にというように入力すればよいのでしょうか? Excel の [名前を付けて保存] ([ファイル] メニュー) を使って、CSV (カンマ区切り) (*.csv)ファイルで保存すると、各項目がカンマで区切られるのでしょうか? 1レコード目と2レコード目はどういった区切りになるのでしょうか? またファイル形式はCSV 形式でと言うことですが、提出するファイル名の拡張子を.txtとしないといけないのですが、それはどうすればいいのでしょうか?

  • CSVファイルをエクセルへインポート

    お世話になります ユーザーホームにテキストボックス、参照ボタン、実行ボタンを配置。 参照ボタンをクリックするとダイアログボックスが開きCSVを選ぶ。 選んだ場所がテキストボックスに記載され実行ボタンを押すと エクセルにインポートする。 張り付き内容は下記の通りです XLS側は CSV→XLS側 B列→XLSのC列へ D列→XLSのG列へ F列→XLSのI列へ 分かる方ご教授願います 当方初心者の為VBAコードでお願いします

  • csvをVBAを使ってエクセル形式で保存したい

    タイトルのとおりなのですが、csvをVBAを使ってエクセル形式で保存したいのですが、その際ひとつ条件がありまして作成するエクセルファイルをcsvと同じ名前にしたいと思っています。  csvのファイル名は都度変わってしまうため私の現在の知識ではVBAを作成することができません。  教えて下さい。よろしくお願いします。

  • VBA 検索方法

    VBA初心者です。よろしくお願いいたします。 ・VBAを保存するファイル名:aa.xls ・参照したいデータが保存してあるファイル名:bb.xls bb.xlsのファイルに下記のデータが保存されている場合 A列  B列 14:00  A 13:00  14:00   検索したい条件は「A列に時間が入力されているがB列は空欄のセル名」を 「aa.xls」のA2→B2~E2順に反映。 上記データからは、 A2にB3、B2にB4と入力されるようにお願いします。 回答お待ちしています。