2

セルの範囲を灰色の内部に設定したい。私が欲しいグレーは、パレットの黒と白のすぐ後に来ます (上段、左から 3 番目)。

セルの内部を手動でこの色に設定し、vba を使用して MsgBox の ColourIndex を設定しました。しかし、セルの Interior.ColorIndex プロパティを 19 に設定すると、セルはグレーではなく、オフホワイト/クリーム色になります。

次のコードは実際にセル (セル A1) の色を灰色からクリーム色に変更します。

Dim r As Range
Set r = Range("A1")

Dim n As Integer

n = r.Interior.ColorIndex

r.Interior.ColorIndex = n

誰でもこれを説明できますか?

4

2 に答える 2

2

限られた数の色ColorIndexしかサポートしていないと思います。代わりにこれを試してください:

Dim r As Range
Dim n As Long ' The return values are large, so Integer will overflow

Set r = Range("A1")

' The color is 14806254
n = r.Interior.Color
r.Interior.Color = n

またはあなたの実際の目的のために:

Dim myRange As Range
Dim n As Long

myRange = Range("A1:F1")
n = 14806254

' Color away!
For Each cell In myRange
  cell.Interior.Color = n
Next cell
于 2012-08-20T00:37:34.800 に答える
1

また、テーマカラーを設定する必要があります。

Dim r As Range
Set r = Range("A1")

Dim n As Integer

n = r.Interior.ColorIndex

With r.Interior
    .ColorIndex = n
    .ThemeColor = xlThemeColorDark2
End With
于 2012-08-20T00:37:45.440 に答える