データベースに対して行われたクエリの結果を含む Excel ワークシートにピボット テーブルがあります。他のすべてのデータセットに基づいて、情報を自動的にフォーマットしたいと考えています。
この情報には、従業員 ID 番号でソートされた各従業員の 4 週間 (1 か月) 分のレコードが含まれています。他のすべてのレコード (従業員データ セット) を異なる色で強調表示するモジュールを作成したいと思います。これは可能ですか?助けてくれてありがとう!
データベースに対して行われたクエリの結果を含む Excel ワークシートにピボット テーブルがあります。他のすべてのデータセットに基づいて、情報を自動的にフォーマットしたいと考えています。
この情報には、従業員 ID 番号でソートされた各従業員の 4 週間 (1 か月) 分のレコードが含まれています。他のすべてのレコード (従業員データ セット) を異なる色で強調表示するモジュールを作成したいと思います。これは可能ですか?助けてくれてありがとう!
VBAを使用して問題を解決することを主張する場合は、ここに例があります。開始範囲を指定する必要があります。行全体をマークするとより多くのメモリが使用される(ファイルサイズが大きくなる)ので、例を使用することに注意してください:range( "A2:E2).select...。
Sub FormatEverySecondRow()
range("A2").EntireRow.Select
Do While ActiveCell.value <> ""
Selection.Interior.ColorIndex = 15
ActiveCell.offset(2, 0).EntireRow.Select
Loop
End Sub
ヘルパー列を使用します(例で列を数える場合はK)
K2に挿入:
=IF(ISBlank(C2),K1,MOD(K1+1,2))
次に、条件付き書式を使用して行を強調表示します。
数式には2の前に$記号がないことに注意してください(つまり、$ K $2ではなく$K2)
これはあなたに役立つかもしれません:
Sub HighlightDifferentRows()
Dim wksht As Worksheet
Dim wkb As Workbook
Dim row As Range
Dim FloatColor As Long
FloatColor = RGB(100, 100, 100)
Set wbk = ThisWorkbook
Application.ScreenUpdating = False
For Each row In Sheets(1).UsedRange.Rows
row.Interior.Color = FloatColor
If row.Cells(1, 4).Value <> row.Cells(2, 4).Value Then
FloatColor = -FloatColor
End If
Next row
Application.ScreenUpdating = True
End Sub
セルの値がその下の値と異なる場合は、行の色を交互に変更します。現在は灰色がかった色に設定されていますが、必要に応じて明るい色に変更できます。独自のロジックを組み込んで、必要な色を取得できます。幸運を。