您好,登錄后才能下訂單哦!
這篇文章給大家介紹excel中的數(shù)據(jù)地圖透明度填充法是什么,內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
excel(VBA)數(shù)據(jù)地圖透明度填充法。
這種方法的制作步驟難度與前一篇相比都較低,但是涉及到的VBA代碼卻要比前一篇略復(fù)雜一點(diǎn)。
1、首先我們要準(zhǔn)備的是世界地圖素材:
本案例中數(shù)據(jù)多達(dá)191個國家,每個國家圖形名稱都取得是“S_”+“前三個字母大寫”,需要一一命名,當(dāng)然這個過程是非常耗時費(fèi)力的,推送后我會將本例源文件貢獻(xiàn),如感興趣,可以直接拿案例中已經(jīng)命名好的矢量圖形嘗試著去做。
2、添加透明度列變量
=($E$1-D4)/($E$1-$E$2)*90%
根據(jù)指標(biāo)值的范圍將指標(biāo)值轉(zhuǎn)化為0%~90%的透明度指標(biāo)。
3、選擇透明度填充的主色,作為填充色色調(diào)的主題色。
將選好的主色填充到指定單元格中。(H3)
4、插入一個矩形(命名為color_label)將作為地圖圖例
5、輸入VBA填色代碼
ALT+F11打開VBA編輯器,輸入以下代碼:
Sub fill_color_vba()
Application.CalculateFull '模擬效果用
On Error Resume Next '個別國家無圖形,忽略
Application.ScreenUpdating = False '暫停刷新屏幕
For i = 4 To 193 '為數(shù)據(jù)源的起始和結(jié)束行號
ActiveSheet.Shapes(Range("sheet1!C" & i).Value).Fill.ForeColor.RGB = Range("SHEET1!H3").Interior.Color
'使用選定的顏色填充圖形
ActiveSheet.Shapes(Range("sheet1!C" & i).Value).Fill.Transparency = Range("SHEET1!E" & i).Value
'按匹配的透明度值設(shè)置圖形的透明度
Next i
ActiveSheet.Shapes("color_label").Fill.ForeColor.RGB = Range("SHEET1!H3").Interior.Color
'設(shè)置圖例的填充色
ActiveSheet.Shapes("color_label").Fill.TwoColorGradient msoGradientVertical, 2
'ActiveSheet.Shapes("color_label").Fill.OneColorGradient msoGradientVertical, 2, 0.23
'設(shè)置圖例的漸變效果
Application.ScreenUpdating = True '恢復(fù)刷新屏幕
End Sub
6、在開發(fā)工具中插入一個按鈕,并的制定宏代碼(命名為填色)。
然后點(diǎn)擊一下填色按鈕,看下神奇的效果吧~
最后將插入的矩形(作為地圖圖例)放在數(shù)據(jù)地圖的合適位置,使用照相機(jī)快照功能將整個數(shù)據(jù)地圖牌照引用。
保存的時候仍然要保存為xlsm格式的帶宏文件。
只需要將你提前準(zhǔn)備好的填充顏色主色復(fù)制進(jìn)填色單元格中,然后單擊填色按鈕,就可以實現(xiàn)不同色調(diào)的填充效果。
關(guān)于excel中的數(shù)據(jù)地圖透明度填充法是什么就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。