小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

另辟蹊徑的交互式儀表板

 hercules028 2019-04-19

涉及的知識(shí)點(diǎn):

  • 單選按鈕作為控件并為其指定宏;

  • VBA為矢量圖設(shè)置顏色及透明度;

  • 單擊某個(gè)城市時(shí),設(shè)置其突出顯示效果(紅色外框線);

  • index和vlookup查詢函數(shù)的使用;

  • 基礎(chǔ)圖表:柱狀圖、條形圖、折線圖、餅狀圖的制作及美化。

因之前的文章中詳細(xì)地介紹過數(shù)據(jù)地圖制作方法,本文對(duì)于一些細(xì)節(jié)將不再贅述。只重點(diǎn)介紹一些制圖的關(guān)鍵點(diǎn)。

01


城市數(shù)據(jù)準(zhǔn)備

全國各城市數(shù)據(jù)地圖制作方法,與制作全國各省份及省內(nèi)各城市基本一致,只不過這里邊是對(duì)全國342個(gè)城市都進(jìn)行命名,并通過For循環(huán)一次性為其指定顏色和透明度。用到的數(shù)據(jù)及透明度數(shù)值計(jì)算過程如下:

注:按如上格式準(zhǔn)備數(shù)據(jù)源,其中index函數(shù)用于根據(jù)“當(dāng)前單選按鈕所選”來查詢D列的指標(biāo)值,繼而用于E列透明度的計(jì)算。透明度計(jì)算過程,用到了如下公式。設(shè)置好首行公式后,向下填充即可。

  • D3單元格公式為

    “=INDEX($F$6:$I$347,ROW(A1),$B$3)”

  • E3單元格公式為

    “=($G$3-$D6)/($G$3-$I$3)*90%”

  • 'Max:'也即G3單元格公式為

    “=MAX($D$6:$D$347)”

  • 'Min:'也即I3單元格公式為

    “=MAX($D$6:$D$347)”

02

制作數(shù)據(jù)地圖

設(shè)置四個(gè)單選按鈕,分別按需求命名。設(shè)置其鏈接單元格為model工作表中B3單元格。并為其賦宏:fill_nationcolor。

其中ThisWorkbook.fill_nationcolor代碼如下:
































Sub fill_nationcolor() Application.ScreenUpdating = False '暫停刷新屏幕     '根據(jù)單選按鈕的值為不同指標(biāo)設(shè)置不同顏色    Select Case Range('model!B3').Value Case 1: Range('model!E3').Interior.ColorIndex = 1 Case 2: Range('model!E3').Interior.ColorIndex = 53 Case 3: Range('model!E3').Interior.ColorIndex = 52        Case 4: Range('model!E3').Interior.ColorIndex = 51 End Select For I = 6 To 347 '為數(shù)據(jù)源的起始和結(jié)束行號(hào)         Sheets('Nationmap').Shapes(Range('model!c' & I).Value).Fill.ForeColor.RGB = Range('model!E3').Interior.Color        '使用選定的顏色填充圖形 Sheets('Nationmap').Shapes(Range('model!c' & I).Value).Fill.Transparency = Range('model!e' & I).Value '按匹配的透明度值設(shè)置圖形的透明度 Next I         Sheets('Nationmap').Shapes('Nationmap_legend').Fill.ForeColor.RGB = Range('model!E3').Interior.Color        '設(shè)置圖例的填充色 Sheets('Nationmap').Shapes('Nationmap_legend').Fill.OneColorGradient msoGradientVertical, 2, 0.23 '設(shè)置圖例的漸變效果        Application.ScreenUpdating = True '恢復(fù)刷新屏幕 End Sub

03


單擊城市突出顯示

當(dāng)想深入探索某一個(gè)城市時(shí),可以將該城市的外框線顯示為紅色,作為告知用戶已選中該城市的交互式反饋。
















Sub user_click_Nationmap()   Application.ScreenUpdating = False '暫停刷新屏幕   ActiveSheet.Shapes(Range('AZ1').Value).Line.ForeColor.SchemeColor = 23    '將之前選中的地圖圖形還原邊框色    Range('AZ1').Value = ActiveSheet.Shapes(Application.Caller).Name    '將當(dāng)前選擇的地圖版塊名稱填值到AZ1單元格         ActiveSheet.Shapes(Range('AZ1').Value).Line.ForeColor.SchemeColor = 60    '將當(dāng)前選中的地圖圖形邊框色設(shè)為紅色       Application.ScreenUpdating = True '恢復(fù)刷新屏幕 End Sub

04


批量設(shè)置突出顯示

利用宏代碼批量為全國342個(gè)城市設(shè)置單擊城市突出顯示,代碼如下:












Sub auto_add_macro_Nationmap() '新建一個(gè)模型時(shí)手動(dòng)運(yùn)行,一次性添加宏 For I = 1 To Sheets('Nationmap').Shapes.Count '5表示對(duì)象類型是地圖版塊 If Sheets('Nationmap').Shapes(I).Type = 5 Then Sheets('Nationmap').Shapes(I).OnAction = ''thisworkbook.user_click_Nationmap'' End If
Next I
End Sub
注:以上代碼在新建一個(gè)模型時(shí)需要手動(dòng)運(yùn)行一次。

05


創(chuàng)建儀表盤

單擊某城市時(shí),會(huì)將該城市名字傳遞給Nationmap工作表U2單元格,并以此單元格作為vlookup函數(shù)的查詢依據(jù),將查詢結(jié)果存儲(chǔ)在J3:W3單元格。制圖時(shí)分別從J3:W3單元格取數(shù)制作柱狀圖、條形圖、折線圖、餅狀圖并美化即可。

非常簡單,不再贅述。唯一需要說明的是可以先做好并格式化好一個(gè)圖表,然后復(fù)制該圖表,更改數(shù)據(jù)源和圖表類型,稍微調(diào)整格式即可得到下一個(gè)圖表。省時(shí)省力,無需從頭開始。如下圖所示:

檢查無誤,大功告成。

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多