Excel VBA
在EXCEL中绘制国内地图
2019-04-19 10:18:13

原理:利用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

 

    到这里完成了。效果如图

    

 

点击加入群:Excel部落 结识Excel大神
学好Excel,效率成倍提高,薪水稳步增长,职位快速提升每天一个源创技巧,如觉得有用,请点上面 关注。更重要手机转发分享

如喜欢此技巧,手机右上角点开,分享到QQ空间,方便自己以后看