Excel足跡地圖第2篇,再來一個厲害的用法:如何製作一鍵全選的複選框

Excel圖表之道2018-06-14 21:41:43

上篇帖子的做法,是基於幾年前《用地圖説話》書中的範例,使用形狀和vba,適合於 2003~2016 所有版本,不過略為麻煩。


如果你使用 365 版本的 Office,地圖的繪製已有內置功能來實現,那就非常簡單了。在這篇練習裏,除了和地圖,我們再增加一個 “一鍵 Clear All 複選框” 的功能。完成的效果如下圖。


(足跡地圖練習小品第2篇效果演示)


原理簡介


使用省名和複選框的結果插入365地圖,即可得到足跡地圖。複選框使用我們的個人宏代碼一鍵批量高效插入。


我們按如下步驟來練習:


1、製作複選框。


上篇已經説過,這麼多複選框要插入、對齊、改文字、,手動做是太麻煩太累了。一鍵批量高效插入的方法,有點小複雜,參見《向經濟學人學圖表》第2季裏的介紹。


(一鍵批量高效插入複選框並鏈接單元格)


2、插入地圖。


使用圖中的B和D列,已經可以插入365版本的地圖了。不過為了便於理解,範例裏我們還是將TRUE和FASLE轉換為1和0來作圖。


這裏需要365版本,其他版本目前還沒有這個地圖功能。低版本打開本貼範例文件時這個地圖會顯示為報錯的空白。


(365版本的地圖功能)


現在的地圖默認是世界地圖,可在地圖區域選中“僅包含數據的區域”,則顯示為中國地圖。


這裏有個小問題,你的中國地圖可能不是像我們例圖裏昂首挺胸的雄雞狀,和國家標準的中國地圖形象有所區別。所有和國家標準中國地圖不一致的都不是好地圖。


(右側是正確的中國地圖投影)


你調整地圖投影為 麥卡托投影,略接近些,但公雞的頭是低着的,胸是比較小的。其他投影方式差別更大。


那怎樣才能設置出例圖裏昂首挺胸的中國地圖呢?這可能是微軟的一個bug。我的小技巧:


TIPS:你同時打開我們的範例文件,然後在自己的練習文件裏插入地圖,或許就是和範例一樣的昂首挺胸的中國地圖了。


現在,勾選複選框,地圖已經可以即時反映了,交互式足跡地圖已經有了。


3、增加一個 Clear All 的功能。


在這次的練習裏,我想給模型增加一個 Clear All 的功能,即可以批量勾選或取消勾選各省的複選框。這在分析儀表板中是經常需要的。


不過,Excel並沒有提供這樣的功能。我們可以使用宏代碼來完成,很簡單,只有1句話,複雜的我不會,也不想會。


先命名 Clear All 複選框鏈接的單元格為 check_all,命名各省的鏈接單元格區域為 check_1by1。然後按Alt+F11插入模塊,輸入如下的宏代碼:


Sub clear_all()

    [check_1by1] = [check_all]    

End Sub


是不是太簡單?使用名稱後代碼變得簡潔易懂。把這個宏指定給 Clear All 複選框。


這樣,當勾選或取消勾選 Clear All 的時候,就執行宏代碼,將各省的鏈接單元格區域 check_1by1 全部填充為 check_all 單元格的值,實現了一鍵全選或全不選的功能。


(DIY一鍵全選或全不選的功能)


劃重點,這裏是我們這篇帖子想介紹給大家的做法和技巧,極其簡單但從沒有過的厲害用法。


4、完成模型。


其他收尾工作,統計勾選的省份個數,計算虛擬的比例,顯示動態文字和數字,排版佈局等,做法和上篇帖子類似,不細述。完善細節,保護工作表,完成模型。


(完整的模型示意圖)


(足跡地圖練習小品第2篇效果演示)


練習到的知識點


在這個練習小品中,我們至少運用到以下知識點和技巧:

  • 複選框的運用。批量插入的方法

  • 365地圖的運用。投影方式、序列顏色的設置

  • 定義名稱的運用

  • 宏vba的簡單運用

  • 函數的運用。如 text() 等

  • 隱藏、鎖定與保護


範例下載


要獲取範例文件,先轉發朋友圈,再發送消息 “足跡地圖”。動手練習,你才會有收穫!


如果喜歡這個帖子和練習小品的話,請點擊下面的 “喜歡作者”,微信的新功能,用 iPhone 的朋友們,終於可以表達你的愛了!


即將618,點擊【閲讀原文】有驚喜,請特別注意今天的 模板大法,和明天開始的大合集

閲讀原文

TAGS: