数量計算書をエクセルで作る方法

三浦プロジェクトは土木とEXCELの情報サイトです

エクセルで業務効率化!マクロで計算を自動化する方法。

  • 修正 2003年7月20日に公開した記事を、一部修正して再度公開しました。

EXCEL活用テクニック【マクロの作り方】

【業務への活用】

Windows95の時代に、EXCEL97上で動くマクロの存在を知りました。しかも、Basic言語。期待して見てみると、コレクション、メソッド、イベント・・・。いきなり異次元の世界。新しいwindows時代のBasicはあまりに敷居が高く、強烈なインパクトを残し、私から立ち去ろうとした事を覚えています。が、それも『慣れ』なのかもしれません。当時はゴールの見えない『もの凄く高い山』をイメージしていましたが、登ってみると案外低いものです。しかも快適。メインが1で出力に9の時間をかけてプログラミングしていたMS-DOSの時代が嘘のようです。VBA (Visual Basic for Applications)の登場で自分のイメージどおりに簡単にソフトを作れる時代になりました。本サイトは、EXCELのVBAを少しでも多くの方が業務に活用し省力化のお役に立てるよう、その第一歩になれればと考えています。

土木業務をデジタル化するイメージ

ワークシートをコピーする操作の自動化マクロを作成します

  1. マクロは[開発]タブを使います。初期状態では表示されていません。[ファイル] > [オプション]でExcelのオプションを開いて、[リボンのユーザー設定] > [メインタブ]の下にある【開発】チェックボックスをオンにすると、追加されます。
    マクロの作り方を説明1
  2. 【開発】タブをクリックするとリボンが変わりますので、[コード]グループの【マクロの記録】ボタンをクリックします。[マクロの記録]ダイアログボックスが表示されますので、そのまま[OK]ボタンをクリックします。
    マクロの作り方を説明2
  3. [Ctrl]キーを押したまま【Sheet1】をドラッグします。[Sheet1(2)]が作成されたら、【記録終了】ボタンをクリックします。
    マクロの作り方を説明3
  4. 【Visual Basic】ボタンをクリックすると、エディターが開きます。プロジェクトエクスプローラから、[標準モジュール]⇒[Module1]を選択します。ここで、コードウィンドウを確認してください。この部分が記録されたマクロになります。
    マクロの作り方を説明4
  5. コードウィンドウ内のマクロはSheet1をコピーしてSheet1の右側に表示させるというものです。
        Sub Macro1()
        '
        ' Macro1 Macro
        '
    
        '
            Sheets("Sheet1").Copy After:=Sheets(1)
        End Sub
    

    これだと汎用性がありませんので下記のように書き換えます。アクティブシートをコピーしてアクティブシートの右側に表示させるというものです。SubからEnd Subをコピーして、コードウィンドウに貼り付けます。

        Sub sheetcopy()
            ActiveSheet.Copy after:=ActiveSheet
        End Sub
    
    マクロの作り方を説明3
  6. ワークシートの[Sheet1(2)]をアクティブにして【マクロ】ボタンクリックすると、[マクロ]ダイアログボックスが表示されますので、[sheetcopy]を選択後、【実行】ボタンをクリックします。
    マクロの作り方を説明3
  7. アクティブシートの右側に【Sheet1(3)】としてアクティブシートがコピーされました。
    マクロの作り方を説明3

    このようにEXCELの操作をマクロに記録し編集を繰り返す事が、VBA (Visual Basic for Applications)を理解する近道ではないかと思います。今回のマクロは【簡単入力計算書】の中にも組み込んでいますので併せてお試しください。