Sub 熱力地圖()For i = 2 To 35 '2和35為數據源的起始和結束行 Range("省市").Value = Range("Sheet1!a" & i).Value '將A列的省份填入到M8單元格 ActiveSheet.Shapes(Range("省市").Value).Select '選中當前省份所對應的地圖 Selection.ShapeRange.Fill.ForeColor.RGB = Range(Range("顏色").Value).Interior.Color '將選中的圖形填充E11單元格指向的顏色 Next iEnd Sub代碼的作用是遍歷A2:A35,然後依次把內容填在E9單元格,這時E10單元格的函數會根據E9的值查找對應的人數,E11單元格的函數又會根據E10的值查找對應的顏色名稱,最後宏代碼再把E11對應的顏色填充到地圖的對應省市中,完成變色。開發工具→插入→按鈕→按住滑鼠左鍵在任意區域畫出按鈕→選擇宏→確定→自定義按鈕名稱https://pan.baidu.com/s/1fTgVSwE5SmxcUHknFKa-2g