こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

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

会社に提出する精算書を作っています。
ボタンフォームで「行を追加する」を押すと
合計のある一行上の、日付から始まる9項目の空行がコピーされる、
というマクロを作りたいのですが
Range("合計").EntireRow.Insert
では入りません。

行には行番号はふっておらず、9項目すべて空で
合計行の金額セルにのみSumが入っています。
シートには結合セルはありません。

合計行より下には印鑑を押す欄などがあり、
セル幅や書式設定はそのままにしておきたいのですが
何かよい方法はありませんでしょうか。
どうぞよろしくお願い致します。

投稿日時 - 2010-12-01 10:37:13

QNo.6355571

困ってます

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

合計行のどこかのセルまたはセル範囲に、「合計」という名前が定義されていればそのコードでよいですよ。
ただ、合計行に行を挿入しただけだと、SUM関数のセル範囲に挿入行は含まれません。
そこで次のようなコードにしてはどうでしょう。

Dim SumRow As Long

SumRow = Range("合計").Row
Rows(SumRow - 1).Insert
Rows(SumRow).Copy Rows(SumRow - 1)
Rows(SumRow).ClearContents

投稿日時 - 2010-12-01 12:56:02

お礼

ご回答ありがとうございました!
SUM関数のセル範囲に挿入行は含まれないのですね。
おっしゃる通りでした。

Range関数のgrobalエラーが出ましたので、Cells.Find("合計")と組み合わせたところ動きました!
些末なことですが、一晩寝ずに試していたので助かりました!
本当にありがとうございました!!!

投稿日時 - 2010-12-01 20:27:03

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.1

Range( ) の中に書くのはアドレスであって、値ではありませんよ。

とりあえず
Cells.Find("合計").EntireRow.Insert
ではどうですか?

投稿日時 - 2010-12-01 10:59:58

あなたにオススメの質問