- 締切済み
エクセルで1行ごとに空白行を挿入し、挿入した空白行に色をつけたいです
タイトルの通りです。 エクセル(2000)で、データはシート毎に件数が違います。 各シート毎にそれぞれ1行毎、空白行を挿入し、挿入した空白行のA列~G列までに薄いグレーの色をつけるマクロを入れたいのですが、うまくいきません。 詳しい方、教えて下さい。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- platypus
- ベストアンサー率27% (24/88)
簡易に実現するには条件付き書式はいかがでしょうか? 空白行が偶数行だと仮定します。 データ範囲はA5のセルからだとしておきます。 データ範囲を選択して、メニューバーから書式>条件付き書式を選びます。 条件を「セルの値が」から「数式が」に変更し、 条件欄に =MOD(ROW(A5),2)=0 とします。 空白行に選択したい書式を書式ボタンで選択した後で設定します。 これで1行おきに偶数行に選択した書式を入れることが可能です。
- KenKen_SP
- ベストアンサー率62% (785/1258)
手動でやるなら、 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)
まず、どのようなマクロを作成したのか教えてください。