• 締切済み

エクセルで1行ごとに空白行を挿入し、挿入した空白行に色をつけたいです

タイトルの通りです。 エクセル(2000)で、データはシート毎に件数が違います。 各シート毎にそれぞれ1行毎、空白行を挿入し、挿入した空白行のA列~G列までに薄いグレーの色をつけるマクロを入れたいのですが、うまくいきません。 詳しい方、教えて下さい。

みんなの回答

  • platypus
  • ベストアンサー率27% (24/88)
回答No.3

簡易に実現するには条件付き書式はいかがでしょうか? 空白行が偶数行だと仮定します。 データ範囲はA5のセルからだとしておきます。 データ範囲を選択して、メニューバーから書式>条件付き書式を選びます。 条件を「セルの値が」から「数式が」に変更し、 条件欄に =MOD(ROW(A5),2)=0 とします。 空白行に選択したい書式を書式ボタンで選択した後で設定します。 これで1行おきに偶数行に選択した書式を入れることが可能です。

  • KenKen_SP
  • ベストアンサー率62% (785/1258)
回答No.2

手動でやるなら、 1. データ範囲の一番左側に作業列を挿入 2. データ開始行から終了行まで、オートフィルで連番挿入   このときセルの選択状態を解除しないまま、[Ctrl]+[C]でコピー 3. 2.でコピーした内容を2.の一番下にそのまま貼り付け 4. 3.で貼り付けた行のA~G列を着色 5. データ全体を作業列をキーにしての昇順ソート 6. 作業列を削除 でできます。 VBAならこんな感じ。 Sub Sample()   Dim lngSRow As Long, lngERow As Long   Dim CurrentRow As Long   Dim i As Long   'データ開始行   lngSRow = 1   'データ終了行取得(A列に空セル無しの場合)   lngERow = Range("A65536").End(xlUp).Row   '処理行   CurrentRow = lngSRow   '処理回数分ループ   For i = lngSRow To lngERow     With Rows(CurrentRow)       '1行下に行挿入       .Offset(1).Insert Shift:=xlDown       '挿入した行全体とA:G列の交差範囲を薄いグレーで着色       Intersect(.Offset(1), Range("A:G")).Interior.ColorIndex = 15     End With     '一行置きなので、次の処理行は前回処理行の2行下     CurrentRow = CurrentRow + 2   Next i End Sub

  • ykym
  • ベストアンサー率22% (8/35)
回答No.1

まず、どのようなマクロを作成したのか教えてください。

関連するQ&A