网页资讯视频图片知道文库贴吧地图采购
进入贴吧全吧搜索

 
 
 
日一二三四五六
       
       
       
       
       
       

签到排名:今日本吧第个签到,

本吧因你更精彩,明天继续来努力!

本吧签到人数:0

一键签到
成为超级会员,使用一键签到
一键签到
本月漏签0次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行补签。
连续签到:天  累计签到:天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
12月03日漏签0天
vba吧 关注:17,082贴子:66,867
  • 看贴

  • 图片

  • 吧主推荐

  • 游戏

  • 1回复贴,共1页
<<返回vba吧
>0< 加载中...

在EXCEL中绘制国内地图

  • 只看楼主
  • 收藏

  • 回复
  • 你牛算了
  • 自成一派
    12
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
原理:利用EXCEL中建立任意多边形功能。
具体实现思路:把每省当成一个任意多边形,通过VBA绘制制每个任意多边形Shapes。这些省的边界的每个点数据存放在EXCEL中当数据调用。然后通过VBA 循环每个省,绘制出中国地图


  • 你牛算了
  • 自成一派
    12
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
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


登录百度账号

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!
  • 贴吧页面意见反馈
  • 违规贴吧举报反馈通道
  • 贴吧违规信息处理公示
  • 1回复贴,共1页
<<返回vba吧
分享到:
©2025 Baidu贴吧协议|隐私政策|吧主制度|意见反馈|网络谣言警示