• ベストアンサー

Excelで値貼り出力をするVBAは作れますか?

Excelで値貼り出力をするVBAは作れますか? Excel2003を業務で使用しています。 SUMPRODUCTなどのいろんな関数を使って売上げ報告書を集計し、 取引先に送っているのですが、計算式や参照式でファイルが重くなっているので、 値貼りをしたファイルを作成したいのです。 そこで、VBAを使って以下のどちらかを実現することは可能でしょうか。 ・報告書の全シートの全書式(罫線・色)と値を別ファイルに出力 ・書式のみ、全て空欄の別ファイルに全シートを値貼り これが出来るととても助かるので、ご教示ください。宜しくお願いいたします。

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

  • ベストアンサー
  • noah7150
  • ベストアンサー率46% (116/251)
回答No.1

別にマクロを作らなくても・・・ ブックのデフォルト書式と操作端末の書式が分からないので同一ブックに作って移動 1.ブックに新しいシートを追加する。 2.複写元のシート戻す 3.シート全体を選択。  左上の行タイトルと列タイトルの角っこの何も書いてない部分を押す。 4.新しく取ったシートに移る 5.A1セルを右クリックして形式を指定して貼り付けを選び  書式を選択後、OKを押す。 6.全体が選択されている形になるのでA1をクリック後  もう一度形式を指定して貼り付けを選び今度は値 7.シート名(新しく取っているのでSheet?になってるかな)を右クリック 8.移動またはコピーを選択して移動先ブックを新しいブックとする。 9.印刷書式を合わせる。 以上 マクロ化したいならこの手順をマクロ記録してね 出来上がったマクロはブック名やシート名が入ると思うので 汎用的に使うには若干手直しが必要かも

aloe_bear
質問者

お礼

ありがとうございます。 その通りやってみたら出来ました。 しかし別のエラーが起きたのでまた質問してみます。 この件については解決です!

関連するQ&A

  • VBAでエクセルに別のエクセル内の値を取り込む

    前提: ・あるフォルダ下に30~50のエクセルファイルが格納されている。 ・それぞれのエクセルファイルは全く同じフォーマットである。 ・エクセルファイルは複数(5~8)のシートで構成されている。 実現したいこと(今回ご教授いただきたいこと): 1. 上記エクセルファイルのあるひとつのシートを別フォルダに格納されているエクセルシートの ひとつのシートに一括で取り込みたい。 または 2. 上記エクセルファイルにあるひとつのシートをアクセスに一括で取り込みたい。 ちなみに集計したいデータはDBテーブルの形をしています。 つまり、本来50ほどあるエクセルファイルのあるシートを一つずつ50回「アクセスへエクスポート」する 作業をVBAで実現したいのです。 1.であれば、すべてを取り込んだエクセルファイルをアクセスへエクスポートするつもりです。 VBAは素人なので(ま、素人なのはVBAに限りませんが)ノーアイディアです。 何とぞよろしくお願いいたします。

  • ACCESS VBAで、エクセルファイルの更新

    ACCESS VBAで、エクセルファイルの更新を行いたいのですが、方法を教えてください。 エクセルで書式や集計の計算式を作成し、データ部のみACCESSで集計した値を置き換える方法を教えてください。

  • エクセルVBAで別ブックを参照してDSUM

    エクセルVBAで別ブック(閉じてる)を参照してDSUMをしたいです。 インターネットや本等で調べたのですが、全然分かりませんでした。 何卒、よろしくお願い申し上げます。 【前提】 ・エクセルファイルが2つあります。 1つ目は「DB」ファイル(Cドライブ直下)。 2つ目は「表示」ファイル(デスクトップ上。「DB」ファイルとは別の場所)。 ・「DB」ファイルの仕様は、Sheet1に以下のとおりです。 A列:会社(1行目には、会社と記載して2行目以降に値) B列:部署(1行目には、部署と記載して2行目以降に値) C列:氏名(1行目には、指名と記載して2行目以降に値) D列:金額(1行目には、金額と記載して2行目以降に値) ※値(データ)の行数は、数万行となる見込みです。 【実現したいこと】 ・「DB」ファイルのSheet1のデータを、DSUM関数の”データベース”として、 金額を集計して、「表示」ファイルで集計・表示させたい。 ・なお、DSUM関数の"条件"としては、会社と部署と氏名の3つとしたい。 ※具体的には、「読み出し」ファイルのSheet1のセルA2に会社を、セルB2に部署を、 セルC2に氏名を入力できるようにる。 それらすべてをAND条件として、金額を集計させたい(金額の集計は、セルD2に出力)です。 以上の内容で考えています。 ひとつのエクセルファイルで作成してみたのですが、データが数万行もあるため、容量が非常に大きくなってしまいます。 集計結果(集計条件を変更させて確認できる状態)は、複数メンバーで共有したいと思っています。 エクセルのVBAで上記のことを実現できないでしょうか。 Accessは、自分含め他のメンバーも知識が乏しいため、避けたいと思っています。 よろしくお願い申し上げます。

  • EXCEL VBA

    1月から3月までの12シートからなる複数のファイルがあります。 そのファイルを上書き保存したときに書式と値だけをコピーした「ファイル名+シート名」で別ファイルに保存をかけたいのです。 (例) 営業課月次.xlsの4月シートに入力をして、上書き保存をかけた時点で月次4月.xlsにシート名=営業課月次4月で書式と値だけ保存する。 こんな都合のよいVBAがありましたら教えていただきたいと思います。宜しくお願いします。 (VBAに関しては入門編ぐらいの知識しかありません。)

  • excelのシートからVBAを除いて書き出し

    特定のExcelのシート(以後、出力シート)だけを予め指定したファイルへexcel形式で書き出したいです。 そのとき、出力シートにはボタンやボタンに関連付けされたVBAプログラムがあるのですが、それらのボタンやシートに関連付けされたVBAは書き出さずに、純粋に各セルに記載されている内容と罫線情報だけを書き出したいです。 出力シートにはVBAを残したくないのが理由ですが、上記のような書き出しをするにはどのようにすればよいのでしょうか。

  • エクセルVBAでテキストを出力したい

    エクセルVBAでテキストを出力したいのですが、 やり方がわからないので教えてください。 仮にSheet2のA列に文章があるとして、 シート全体を1つのテキストファイルとして出力し、 ファイル名をSheet1のA1セルにしたいです。 同じような質問もあるのですが、ファイル名に関しては、 ちょっと見当たらなかったので質問しています。

  • excel vbaでのxml出力がわかりません

    EXCEL VBAでAPIを使い、XMLファイルを出力するプログラムを作っているのですが、うまくいきません。 機能としましては、指定したセルの範囲内にユーザーが入力した値を、XMLファイルとして出力するというものです。 ただXMLファイルを出力するだけなら自力でできたのですが、XMLファイルにセルの値を入れることができません。 どなたかご教授願います。

  • 【Excel-VBA】特定の処理をしている間、関数を止める方法について

    Excelで実現可能かどうか教えてください。 入力用Book1 ⇒ 入力シート1 入力用Book2 ⇒ 入力シート2 入力用Book3 ⇒ 入力シート3 集計用Book ⇒ 集計シート1、集計シート2、集計シート3、入力シート1、入力シート2、入力シート3 上記の4ファイルがあり、入力用Book1~3はそれぞれ5名ぐらいが 共有してデータを入力しています。 集計用Bookの集計シート1で入力シート1を集計したいので、VBAで 入力シート1~3を集計用Bookに取り込みたいと考えております。 ただ、集計シート1~3にはそれぞれSumproductを多用しており、 VBAで取込処理を行うと10分近くかかってしまいます。 集計シート1~3を削除して取込を行うと10秒ほどで完了します。 取込処理を行う間、各セルに入力している数式の処理を止めることは 可能でしょうか? 入力用シート1~3を扱うメンバーは定期的に変わるため、 全てをVBAで構築するのは躊躇われます。 なんとかsumifやsumproductを使用して、メンテナンス工数を 削減したいので、よろしくお願いいたします。

  • EXCEL VBAで指定したブックの保存場所を検索したい。(EXCEL2003)

     こんにちは、チェーン店型の店舗で働いている者です。  私が作ったVBA付のエクセルファイルを複数の店舗で使ってもらおうと考えてます。しかし、そのワークシートの中に他のブック(ここでは『売上集計表.xls』)のセルの値を参照しているセルが含まれており、参照する『売上集計表.xls』の保存場所が店舗によって違うので困っています。 『売上集計表.xls』は会社で作成されたものですので、どの店舗でも同じファイル名、レイアウトのうえ、『売上集計表.xls』という名のEXCELファイルはパソコンの中にひとつしか存在しません。 エクセルを起動したときに、参照するファイルが見つからないとリンクの編集をたずねてくるので、それでも大丈夫なのですが、パソコンに疎い人も多いので出来ればVBAで自動的にリンクを設定できるような仕組みがあればと思い質問させていただきました。

  • EXCEL VBAで別ファイル作成

    エクセル97です。 エクセルファイル AAA.xls のすべてのワークシートのうち、セルA1に TRUE がはいっているもの、(枚数はそのときにより不定です。)のみをコピーして、別のエクセルファイルを作成したいのです。 その際、新しいファイルに貼り付けるのは書式と値のみで、シート名は 元ファイルのシート名と同じにしたいのです。 どのようなVBAを書けばよいかご教示ください。 (AAA.xls にはワークシート以外にグラフシートやダイアローグシートが入っています。)

専門家に質問してみよう