地图是个好东西,特别的直观。 我记忆不好,背课文简直就是噩梦,但我也有万中无一的牛逼,比如通背元素周期表,比如全球的国家、半岛、岛屿、河流、山脉、城市大多数就记得。每当说起一个地方,大脑里就出现一个地球,逐渐拉近直至这个地方的准确位置。不能太谦虚,这很牛逼。 也曾经因为奥赛需要去到西南师范大学集训,那时候还没有各种电子地图,没去过大城市的我一手地图、一手指南针全程无误的到达目的地,这很牛逼。 那对于做数据处理的我们,与其相关的数据能用地图直观呈现,这也很牛逼。 管理过一段时间的全国仓库商务事项,面积管理是日常工作之一。对于数据的表格管理已经炉火纯青,但总感觉还缺点啥。有一天突然就get到了那个点,我需要在地图上的分档填色。 说干就干。 首先,我需要一个中国地图,这个小意思,日常的积累中早就存下了各种版本的地图。 其次,对于每个仓库所在城市需要获取坐标,这个也非常简单,找到全国城市经纬表,然后对数据进行变换,方便在地图上进行展示,如果是做散点图,这就可以展示全国仓库的位置了。 再次,我们将各仓库的面积导入,进行适当的分档。这里需要根据需要来分,不是越多越好,否则看起来颜色多,容易凌乱。 最后,在VBA中,新建模块进行颜色控制: Subfill_color() Dim i%, v, p ActiveSheet.ChartObjects("图表 2").Activate v =Evaluate(ActiveChart.SeriesCollection(1).BubbleSizes) Set p = ActiveChart.SeriesCollection(1).Points For i = 1 To 42 Select Case v(i, 1) Case 0 To 999 p(i).Format.Fill.ForeColor.RGB =Range("G43").Interior.Color Case 1000 To 1999 p(i).Format.Fill.ForeColor.RGB =Range("G42").Interior.Color Case 2000 To 4999 p(i).Format.Fill.ForeColor.RGB =Range("G41").Interior.Color Case Else p(i).Format.Fill.ForeColor.RGB =Range("G40").Interior.Color End Select Next EndSub 代码这个东西吧,多看几遍就懂了。将代码与按钮关联,就实现了颜色的填充。这个案例中为了体现简洁性,仓库面积按F9随机变动,再按按钮就能够分档填色完成。 由此,感觉世界上又开了一个窗,如果我们开的窗越多,心中就会越敞亮。 |
|