原理:利用EXCEL中建立任意多边形功能。
具体实现思路:把每省当成一个任意多边形,通过VBA绘制制每个任意多边形Shapes。这些省的边界的每个点数据存放在EXCEL中当数据调用。然后通过VBA 循环每个省,绘制出中国地图。
作者:源理-Office中国
操作步骤:
1、通过CAD、或是画图软件导出或是网上下载。把每个省的形状的坐标下载下来。
如图:
2、写VBA代码:
Sub 建立地图()
Dim i, j As Integer
Dim sha As Shape
i = 1
Dim a As FreeformBuilder
For Each cel1 In Range("B2:B" & Range("B65536").End(xlUp).Row + 1)
If cel1 = "" Then
ReDim p(cel1.Row - i - 1)
Set a = Sheet1.Shapes.BuildFreeform(msoSegmentCurve, Range("B" & i).Offset(1, 0), Range("B" & i).Offset(1, 1))
For Each cel2 In Range("B" & i + 2 & ":B" & cel1.Row - 1)
a.AddNodes msoSegmentCurve, msoEditingSmooth, cel2, cel2.Offset(0, 1)
Next
i = cel1.Row
Set sha = a.ConvertToShape
sha.Name = cel1.Offset(-1, -1)
Set a = Nothing
End If
Next
End Sub
到这里完成了。效果如图
如喜欢此技巧,手机右上角点开,分享到QQ空间,方便自己以后看