2016-06-01 110 views
0

我一直在研究格式化宏,它根據用戶窗體中選定的值選擇並格式化它們。其中一個選項創建一個大型合併單元格,其顏色漸變從淺到深紅色。漸變顏色意外改變

當我運行宏時,單元格的格式都適當,但是當我在表單周圍導航時,我發現了一個奇怪的問題,其中漸變的顏色將變爲藍色而不是紅色。有趣的是,原始顏色會隨機返回,有時甚至會給出從藍色到紅色或紅色到藍色的漸變。

如果我使用格式畫家拉動錯誤顏色的單元格並在其他地方測試,新的中斷/更改顏色方案隨之移動。我已經包含了格式化合並單元格的代碼。或許,我是如何指定內飾顏色的?

With Range(WorkingRange(1, 2), WorkingRange(1, WorkingRange.Count - 1)) 
    .Merge 
    .HorizontalAlignment = xlLeft 
    .WrapText = True 
    .Interior.Pattern = xlPatternLinearGradient 
    .Interior.Gradient.ColorStops.Add(0).Color = 255 
    .Interior.Gradient.ColorStops.Add(0).TintAndShade = 0 
    .Interior.Gradient.ColorStops.Add(1).Color = 130 
    .Font.Bold = True 
End With 

回答

1

您正在兩次添加ColorStop 0。第二次使用默認顏色。

應該

... 
    .Interior.Pattern = xlPatternLinearGradient 
    .Interior.Gradient.ColorStops.Clear 
    With .Interior.Gradient.ColorStops.Add(0) 
    .Color = RGB(255, 0, 0) 
    .TintAndShade = 0 
    End With 
    .Interior.Gradient.ColorStops.Add(1).Color = RGB(130, 0, 0) 
... 

使用RGB功能將使它與不同顏色的使用更加靈活。

+0

我認爲這可能不是一個代碼問題。在更改了您建議的代碼並格式化了一個測試區域後,我關閉並重新打開了該文檔,並且從格式化(從白色變爲暗紅色)到重新打開文件(現在從所需的紅色變爲藍色)。有任何想法嗎? – RGA

+0

試圖添加圖片鏈接但不能,因此它們是: [格式化後](http://i.imgur.com/rwQcqvT.png) [重新打開後](http:// i。 imgur.com/8tLgT0m.png) – RGA

+0

對不起,無法使用Excel 2007重現您的問題。即使在關閉並重新打開後,它也能按預期工作。 –