• ベストアンサー

エクセル2010で合計の一行上に行の追加をしたい

会社に提出する精算書を作っています。 ボタンフォームで「行を追加する」を押すと 合計のある一行上の、日付から始まる9項目の空行がコピーされる、 というマクロを作りたいのですが Range("合計").EntireRow.Insert では入りません。 行には行番号はふっておらず、9項目すべて空で 合計行の金額セルにのみSumが入っています。 シートには結合セルはありません。 合計行より下には印鑑を押す欄などがあり、 セル幅や書式設定はそのままにしておきたいのですが 何かよい方法はありませんでしょうか。 どうぞよろしくお願い致します。

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

  • ベストアンサー
  • hananoppo
  • ベストアンサー率46% (109/235)
回答No.2

合計行のどこかのセルまたはセル範囲に、「合計」という名前が定義されていればそのコードでよいですよ。 ただ、合計行に行を挿入しただけだと、SUM関数のセル範囲に挿入行は含まれません。 そこで次のようなコードにしてはどうでしょう。 Dim SumRow As Long SumRow = Range("合計").Row Rows(SumRow - 1).Insert Rows(SumRow).Copy Rows(SumRow - 1) Rows(SumRow).ClearContents

enjoyeveryday
質問者

お礼

ご回答ありがとうございました! SUM関数のセル範囲に挿入行は含まれないのですね。 おっしゃる通りでした。 Range関数のgrobalエラーが出ましたので、Cells.Find("合計")と組み合わせたところ動きました! 些末なことですが、一晩寝ずに試していたので助かりました! 本当にありがとうございました!!!

その他の回答 (1)

  • nattocurry
  • ベストアンサー率31% (587/1853)
回答No.1

Range( ) の中に書くのはアドレスであって、値ではありませんよ。 とりあえず Cells.Find("合計").EntireRow.Insert ではどうですか?

関連するQ&A