- 締切済み
Excel(csv)の自動編集
Excelまたはcsvの自動編集について教えてください。 仕事で、システムで作成した見積をcsvで出力し編集する業務があるのですが、 出力後いつも同じ要領で手動で編集を行っております。 これを自動でできるようにならないかと思っております。 csvのままでは厳しいようでしたら、Excelで一度保存しなおし、 自動編集が実現できるようにする形でもいいかなと思っております。 こちらの実現方法を教えていただけないでしょうか。 具体的な内容といたしましては、 10行×10列くらいのデータの中で、 ・B列とD列、G列を削除 ・H列とI列の間に空白列を追加 ・すべてのフォントサイズを9ptに ・できたデータを表にするため、枠線を追加 ・F列は金額が入力されるため、桁区切りの「,」を書式に設定 上記の中で自動で実現できる内容を、ワンクリックで実行するためには、 どういう作業が必要でしょうか。。 そもそも自動でできるんでしょうか。。。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- bignishi
- ベストアンサー率25% (1/4)
始めまして。 回答が遅くなりましたが、以下の回答をさせて頂きます。 ご参照下さい。 ご質問の内容から必要な機能を下記します。 (1)csvで作成されたデータ(ファイル)をExcel表に編集する。 (2)列の追加・削除を行なう。 (3)表示フォントの指定を行なう。 (4)枠線を指定する。 (5)セルの属性指定を行なう。 (6)csvで作成されたデータボリュームの変動に対応する。 (7)これらの編集内容を初回に設定し、次回以降をワンクリックでExcelに自動編集する。 これら(1)~(7)迄の全ての機能をサポートしているソフトはサイセイテックが開発した 「Csv帳票編集」ソフトが御座います。 このソフトは上記の機能に加えて、データの並び替え(ソート)、集計・集計行の挿入、折り畳み表示、 タイトル行の設定等の機能を備えております。 以上 ご参考まで。
- tom04
- ベストアンサー率49% (2537/5117)
こんにちは! 毎回データ量が決まった行数・列数であれば「マクロの記録」を使い 次回からはそのマクロを実行すれのが一番簡単だと思います。 とりあえず毎回データ量が違う場合のコードにしてみました。 操作したいSheet見出し上で右クリック → コードの表示 → VBE画面が出ますので ↓のコードをコピー&ペースト。 そのSheetにCSVファイルをコピーしてマクロを実行してみてください。 (Alt+F8キー → マクロ → マクロ実行です) Sub test() 'この行から Dim i, j As Long Columns(9).Insert Columns(2).Delete Columns(3).Delete Columns(5).Delete ActiveSheet.Cells.Font.Size = 9 Columns(6).Style = "Comma [0]" i = Cells(Rows.Count, 1).End(xlUp).Row j = Cells(1, Columns.Count).End(xlToLeft).Column Rows(1).HorizontalAlignment = xlCenter Range(Cells(1, 1), Cells(i, j)).Select With Selection .Borders(xlEdgeTop).LineStyle = xlContinuous .Borders(xlEdgeBottom).LineStyle = xlContinuous .Borders(xlEdgeLeft).LineStyle = xlContinuous .Borders(xlEdgeRight).LineStyle = xlContinuous .Borders(xlInsideHorizontal).LineStyle = xlContinuous .Borders(xlInsideVertical).LineStyle = xlContinuous End With Columns.AutoFit End Sub 'この行まで ※ 枠線は「格子線」としてみました。 ※ 1行目はタイトル行だとしています。 こんな感じではどうでしょうか?m(_ _)m
- -9L9-
- ベストアンサー率44% (1088/2422)
あらかじめ質問にあるような設定をしておいた表を用意し、それとは別にCSVファイルを読み込んで、そのデータをコピーして、それを「形式を選択して貼り付け」で、「値」のみの貼り付けを行えばあらかじめ設定してある書式になります。行の削除や追加はコピー前のCSVファイルのデータに対して行います。それらを一括で処理したいなら、VBAでマクロを設定しておくことが必要です。 なお、EXCELじゃなくてACCESSなどのデータベースソフトを使えば、あらかじめフィールド設定やレポート設定でそれらを設定できます。あとはそのデータベーステーブルにデータを読み込めばいいだけです。そちらのほうがVBAの記述も不要で簡単だと思いますが。