- 締切済み
エクセル初心者です。マクロなのか関数なのか
エクセル初心者です。マクロ or VBAを使えばいいのか関数なのかわからないです・・・・・ デスクトップにある新しいフォルダという名前の中に50以上のエクセルCSVブックがあります。 これをひとつも展開させずに新しいブックにひとつにまとめたいのですが、最低でもフォルダ内には50~100ぐらいのエクセルのCSVブックがあるので(ひとつひつ展開するのも手間なので)ワンクリックか何かでまとめる方法はないでしょうか?(フォルダ内にある名前は全てばらばらです) Book1.CSV A B C 1 1 1 Book2.CSV A B C 2 2 2 Book3.CSV A B C 3 3 3 例えば上のような3つのブックがあって中には一行目はすべて固定で二行目以降から数字が入っています。 最終的には・・・・ 新しいBook A B C 1 1 1 2 2 2 3 3 3 ↑ 一行目は固定で2行目以降から各ブックに入っている行を追加するだけのようにしたいのです。 こういことはマクロでも可能でしょうか?それとも関数のほうがいいのでしょうか? ご存知であればぜひマクロの登録手順とその方法を教えてください。 いろいろと調べたのですがマクロは書いていた記述をそのまま貼り付けてもうまく動作しなかったんです。 マクロであればその手順まで教えていただけると非常に助かります。 エクセルのverは2003です。よろしくお願いいたします。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- sredd
- ベストアンサー率44% (11/25)
imogasiさんが書かれているように、マクロでの対応となると思います。 これは勉強しながらやってもらうとして、、、ボタン1つをクリックして出来上がるというものではないですが 少しの手間で同じ結果を得られますよ、という参考程度で。 Officeが入っているPCだと「.CSV」ファイルを開くとExcelが起動してしまうので Excel特有のファイルと誤解されがちですが、CSVファイル自体は「,(カンマ)区切り」のテキストファイルです。 ※試しに、メモ帳でCSVファイルを開いてみるとわかると思います そこで、考えた手順が以下のとおりです。 1.フォルダ内のテキストファイル(CSVファイル)を1つのファイルにまとめてしまう (仮にC:\tempというフォルダに作成するとします) コマンドプロンプトを起動し、以下のコマンドを実行 COPY (「新しいフォルダ」までのパス)\*.CSV C:\temp\KETSUGOU.CSV KETSUGOU.CSV A B C 1 1 1 A B C 2 2 2 A B C 3 3 3 2.まとめた時、間に表題が入ってしまっているので除去する KETSUGOU.CSVをメモ帳などのエディタで開き、2行目以降の「A,B,C」をデータなしに置換する ※秀丸やTerapadなどの「改行」を判定できるエディタを使用していれば、 「A,B,C\n」をデータなしに置換すれば綺麗に置換できると思います 3.出来上がったファイルを一旦保存し、もう一度開けば望む形のデータが出来上がると思います
- imogasi
- ベストアンサー率27% (4737/17069)
関数で・・ 見当ハズレ。関数の何たるかを判っていない。 関数は基本は決まったブックの1シートで既に有るデータを加工する式をセルに入れて、式の複写で(同類の)各行(列)のデータを完成させる。 多数ブックのデータを引っ張って来るとき、式をどの行に入れたらよいか決まらなくて、多分不可能に近い。Bool1のデータ行数は関数で捉えるのが難しい。それがBook2・・と行数差が加わって増幅し、例えばBook3の第10行目は集約ブック・シートの何行目に式を入れたらよいか難しい。 ーー VBAでないと出来ない。 それも少しVBAの本を読んだぐらいの人には説明も難しい。 フォルダ内のファイルを捉える技術(技術と言ってもVBAコード) エクセルファイルかどうかの判断 集約シートへデータを持ってくるロジック ブックを取りかえて、処理を繰り返す技術(コード) などが必要なので、結果的に勉強してできるようになる必要が有る 。 ーー それよりも、エクセルと無縁のCSVのファイルの段階で、テキストファイル(CSVのこと)を集約し、集約ブックに読み込ませ、ソートなどして、好みの順序に組み立てるほうが、考えやすいかもしれない。 ーー 上記のことをいつの間にかできるようにあっているVBA使いは多いと思うが、今日から初心者に説明しろとった場合、基礎事項、背景事項の説明も必要で、何日かかるのか、どう説明したらよいのか見当が着きにくい。このコーナーでの説明許容量では無理。 本件はコードを回答者に書いてくれの部類にナリ、当質問コーナーの 規約違反の恐れアリ。 自分で有る程度(基礎事項、背景事項)のところまで勉強してから 言うことだと思う。
- n-jun
- ベストアンサー率33% (959/2873)
>これをひとつも展開させずに新しいブックにひとつにまとめたいのです 展開というのがCSVファイルを開くという意味なら、開いた方が楽な感じもします。 新しいブックとは、VBAコードを記載したブックではないと言う事? と初級者的な疑問でした。 >マクロは書いていた記述をそのまま貼り付けてもうまく動作しなかったんです。 提示してみると勉強に繋がるかも。