人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

ExcelVBAです。

集計結果に対して下記処理を行いたいのです。
※添付ファイルをご参照ください。

・A列の「計」の下に色付きの行を一行挿入する。
(最終行「総計」の上の「計」以外)

Dim i As Long, lngLastR As Long

Const strBB As String = "計"
Application.ScreenUpdating = False
lngLastR = ActiveSheet.Range("B65536").End(xlUp).row
For i = lngLastR To 1 Step -1
'↓A列
If Cells(i, 1).Value = strBB Then
Rows(i + 1).Insert Shift:=xlDown
End If
Next i

上記のように「計」の下に一行は挿入できましたが、
色をつけるところがわかりません・・・。

[補足]
・行の数は毎回異なるので、固定の行を指定することはできません。
・挿入した色付き行に文字を入れる(白色の文字列)こともあるので、
条件付き書式(空白セルに色をつける)はできない。
⇒文字を入れるとセルの色が消えるため。
・できたら最終行の「総計」の行にも、色づけしたいです。

教えていただくと大変助かります。宜しくお願いします。





1211295863
●拡大する

●質問者: hananeko_0
●カテゴリ:ビジネス・経営 コンピュータ
✍キーワード:application AS const NeXT String
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● Mook
●60ポイント ベストアンサー

処理を追加した例です。このような感じでどうでしょうか。


ColorIndex の色は下記のページをご参照ください。

http://www.relief.jp/itnote/archives/000482.php

Sub sumColor()
 Dim i As Long, lngLastR As Long
 Const colorRange = 4 '--- 色を付けるセル数
 Const strBB As String = "計"
 Application.ScreenUpdating = False
 
 lngLastR = ActiveSheet.Range("A65536").End(xlUp).Row
  '--- 最終行の色
 Range("A" & lngLastR).Resize(1, colorRange).Interior.ColorIndex = 15
 
 For i = lngLastR To 1 Step -1
  '↓A列
 If Cells(i, 1).Value = strBB Then
 Rows(i + 1).Insert Shift:=xlDown
  '--- 計の色
 Range("A" & i + 1).Resize(1, colorRange).Interior.ColorIndex = 1
 End If
 Next i
End Sub
◎質問者からの返答

解決しました!

本当にありがとうございます!

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ