• 締切済み

WSHでExcelデータをファイルに書き出したい

あるフォルダー内にあるExcelデータを再帰的に検索して、指定されたシートのA2,C5,C7,K1及びA11~A100までの空白を除くデータをcsv形式かexcelのデータとしてファイルに書き出したいです。 どのようにやればよいか教えてください。

みんなの回答

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

(1)フォルダ内のデータ一覧をとりエクセルファイルだけ抜き出す (2)ひとつずつエクセルで開く (3)ブックに有効なシートがあることを確認し適用セルを配列でうけとる (4)空白セルがあればそれをトリムする (5)ファイルを出力する (6) (2)へ どれも一つ一つの処理は難しいものはないと思いますが、 具体的にどこでつまっているかを提示した方がよいでしょう。 全体的にわからないなら、wshの参考書をみるなり基礎的な学習が 必要かもしれません

y_japan
質問者

お礼

>どれも一つ一つの処理は難しいものはないと思いますが このような回答は書くほうも、読まされるほうも気分はよくないでしょう。何故、わざわざこのような回答をするのでしょうか?? 教えてほしいといっていることの的をはずす回答ならするべきではないでしょう。

y_japan
質問者

補足

ネクラなプログラマーさんへ できましたよ!笑

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • 複数のCSVファイルからのデータ取得(VBA)

    エクセルVBAで、エクセルの指定シートに複数のCSVファイルからデータを取得する方法を ご教授お願います。 エクセルの指定シートの指定されたセルに、複数のCSVファイルから指定箇所のデータを 取得し転送する方法を考えていますが、どうもうまくいきません。 たとえば、 CSVファイル(1) A5(A)           A10(B) CSVファイル(2) A5(C)           A10(D)      CSVファイル(3) A5(E)           A10(F)         ・      ・      ・ と、指定されたセルからデータを取得し、 エクセルの指定シートの表に                    CSVファイル                                 (1)  (2)  (3) ・ ・ ・ ------------------------------------------- A5から取得したデータ    A   C   E ・ ・ ・ A10から取得したデータ    B   D   F ・ ・ ・ ------------------------------------------- と、いうように転送して貼り付けていきたいです。 いろいろ調べてみたのですが、このような方法が見つけられませんでした。 ぜひ、皆様のお知恵をお貸しください。 宜しくお願い致します。

  • エクセル マクロ 特定のフォルダ内 ファイルコピー

    エクセルのセルに入力されたフォルダを参照して、 CSVファイルを シート1・2・3・4に1度にコピーしたいのですが 例えば C\ドキュメント¥フォルダA |-フォルダB |-フォルダC                 |-フォルダD                 |-フォルダE                        |-フォルダ1                             |-CSVファイルA                         |-フォルダ2                             |-CSVファイルB                          |-フォルダ3                             |-CSVファイルC                         |-フォルダ4                              |-CSVファイルD 上記のアドレスで シート1のA1セルに フォルダEを入力し  シート2に CSVファイルA シート3に CSVファイルB シート4に CSVファイルC シート5に CSVファイルD それぞれすべての内容を貼り付けたいのですが 何分初心者なもので ご指導いただければと思います。  ちなみに A1セルの入力は変わるため各シートは1度削除した上で再度貼り付けを行いたいです。     

  • [EXCEL97]CSVファイルの形式について

    Microsoftのサポートページを見るとEXCEL97はCSV1形式とCSV2形式のどちらも読込み可能となっていますが、 CSV1形式のものをきちんと読込んでくれません。 読込む形式の指定は可能なのでしょうか。 具体的な現象としては、例えば"1,000"を1,000と認識してくれず、"1と000"の2つのセルに分けて認識してしまいます。

  • Excelの範囲指定セルににcsvファイルのデータを貼り付け

    Excelファイルの任意のセルにCSVファイルのデータを貼り付けたいと思っています。 各ワークシートにCSVファイルのデータを読み込むマクロを書いて実行していたのですが、ファイルが増えてしまったのでもっと簡単に処理ができたら、と思い相談させていただきます。 Visual C# 2008の勉強を始めて間もないので初歩的な質問かと思いますが、宜しくお願い致します。 希望する処理の流れは 1.「Excelファイル選択」ボタンを押すと、指定のフォルダ内のxlsファイルをリストボックスに表示 2.Excelファイル選択 3.「CSVファイル選択」ボタンを押すと、指定のフォルダ内のcsvファイルをリストボックスに表示 4.Excelファイルに対応するCSVファイル選択 5.「データ読込」ボタンでテキストファイルのデータをExcelファイルの指定のセルに貼り付け 6.Excelファイルを保存して終了 1.と3.のリストボックスへのファイル表示はできているのですが、選択したExcelファイルにcsvファイルのデータの貼り付けの方法がわかりません… それぞれのファイルを変数に格納して、更にcsvファイルのデータを配列変数に流して、繰り返し処理で貼り付けていくのかな?と想像しているのですが… http://support.microsoft.com/kb/302096/ja 上記のページを参考にしたのですが、外部ファイルのデータを指定のセルに入力するにはどうしたらよいのかわかりませんでした。 ・Excelファイルの指定のセルはB12~H1011までの7列1000行です。 ・csvファイルは1000行に満たないこともあります。 ・入力するデータ型は整数と文字列です。 PC環境 Windows XP SP3 Excel 2007 Visual C# 2008 要領を得ない説明で申し訳ありませんが、どうぞ宜しくお願い致します。

  • ExcelVBAでフォルダ内の全csvを開き一行に

    ExcelVBAで、指定フォルダ内の全csvファイルのデータを開き 行列変換して一行毎に並べていきたいのです。 csvファイル数は、処理する時により、増減あります 似たような質問もあるようですが、いくつか見比べるとコマンドが異なってると、混乱してしまい、通しで回答いただけると、理解もできるかと質問させていただきます。 よろしくお願いいたします。 ■操作&データ並べるファイル Sheet:menu こちらに、指定フォルダなど入力、マクロ実行ボタン配置 Sheet:data こちらに、1行づつ、csvファイルのデータを貼り付け ■csvデータ:1001.csv、1002.csv、・・・、1010.csv ■各csvデータ の並び A列 B列  C列 日付 04/01 時間 10:32 番号 1001 A1  OK  0.12 A2  OK  4.92 A3  NG  7.89 B1  0.05 B2  0.95 C1  101.2 C2  95.4 ・  ・ ーーーSheet:data の貼り付け後の並びーーーーーーーーーーーーーー 1001 04/01 10:32 0.12 4.92 7.89 0.05 0.95 101.2 95.4 ・ 1002 04/01 10:45 ・  ・  ・  ・  ・  ・  ・ ・  1003  ・  ・  ・  ・  ・  ・  ・  ・  ・ ・ ・ ・ 1010  ・  ・  ・  ・  ・  ・  ・  ・  ・ ・ ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー csvのデータは、3列で100行ほどありますが、 必要なデータの場所は、列が変わったりします

  • <ACCESS VBA -> EXCEL>getObjectしたEXCELファイルのシートを指定したい

    ACCESSのVBAマクロでEXCELファイルを指定してデータを取得しようとしています。 GetObject("C:\ファイル名.xls", "Excel.Sheet") でEXCELファイルを取得するまでは良いのですが、そのファイルのシートを指定する方法がわかりません。 基本かもしれませんが、ご教示をお願いします。

  • excel2007データ収集

    初心者です。excel2007でデータ収集をしています。 1sheetに1時間毎にあがってくるデータを24時間分トータルして1日分として転記しています。 A1セル=SUM(1sheet'A1:A24)の様に。 データがあがっていない時は空白なので転記先は0かエラーがでてしまいますが 表示を消す方法を教えて下さい。

  • EXCEL→CSV形式で別ファイルに保存

    EXCELデータ内のある1つのシートのデータをそのまま別ファイル(CSV)に保存したいのですがうまくいかないので教えてください。 本を見ながらこのようなマクロを作ったところ、EXCEL(○○.xls)の指定したシート(keihi)のみをCSV形式で別フォルダ(C:\経費振替)に保存することができたんですが、 元のEXCELも、ファイル名称・形式がCSV(○○.xls→keihi.csv)に変わってしまいます。 エクセルのファイル名、形式は変えずにできる方法ってありますか?? Sub データはきだし() Dim Ret As String Dim Res As Integer Dim FolderName As String Set WK1 = Worksheets("1 依頼書") Set WK4 = Worksheets("keihi") FolderName = "C:\経費振替" Ret = Dir(FolderName, 16) If Ret = "" Then Res = MsgBox("DATA保管用フォルダを作成します。", vbYesNo) If Res = vbYes Then MkDir FolderName End If End If ' Dim Res2 As Integer Res2 = MsgBox("DATAを作成します。", vbYesNo) WK4.Select If Res2 = vbYes Then With WK4 .SaveAs Filename:=FolderName & "\keihi", FileFormat:=xlCSV ←多分ココが何か間違ってるのだと思うんですが。 End With

  • 【Excel】csvファイル取込み VBA処理

      VBAの初心者です。 csvファイル(カンマ区切り)の取込みをVBAで処理したいのですが、知識がないので 何方か詳しい方ご教授下さい。 動作的には以下のように処理したいと思ってます。 1. sheet1のボタンからテキストのインポート   任意のフォルダ(c:\data\i_data)からカンマ区切りで保存されたcsvファイル群から   選んで読込み。   読込むファイルに間違いがないか対話型で確認のメッセージを表示し、キャンセ   ルした場合は中断させる。 2. csvファイル内の200列分のデータ(指数)をsheet3の任意のセル(指定可能)に取込   み。セルの指定が出来なければ固定でも可ですが、行違いで他のファイルも取込   み出来るようにしたいのです。 色んなサイトからヒントを貰って自分なりに試してますが上手くいかず、行き詰って質 問させて頂いた次第です。 また別のQ&Aに記載されてましたFileSystemObjectが使えません。 お手数ですが、各行毎にコメント(解説)があると有難いです。 Excelのバージョンは"2007"ですが"2000"でも使えるようにしたいのですが・・ よろしくお願いします。

  • Excel2003で列数制限以上のCSVファイルを読み込む方法

    初めて投稿いたします。 仕事で使うCSV形式のテキストファイルをExcel2003に読み込ませようとしています。1つのデータ群が数値50個の連続データで構成されていますが、改行情報が入っていないため、データ群が多くなると列数制限(256列まで)でファイル自体が単純に読めない状態です。 データ群毎に改行すれば、1枚のワークシートで読み込めると思います(下記イメージ)。何とか頑張ってVBAマクロで作成したいと思います。 参考になるサンプルマクロとかをご存じないでしょうか?CSVエディタとの併用も考えましたが、Excelだけで完結できればありがたいです。 どうぞよろしくお願い申し上げます。 [現在のデータ形式イメージ] a1,a2,…,a50,b1,b2,…,b50,c1,c2,…,c50,d1,d2,…,d50,……… (1行で連続したデータ) [変更後のデータ形式イメージ] a1,a2,…,a50 b1,b2,…,b50 c1,c2,…,c50 d1,d2,…,d50 e f … (1行あたり50列のデータ)