Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 4300|回复: 8

[已解决]VBA运行错误‘5’

[复制链接]
发表于 2017-10-16 13:46 | 显示全部楼层 |阅读模式
本帖最后由 tgsmall36 于 2017-10-16 15:23 编辑

在网上下了一段VBA地图代码,然后我早上第一次修改部分参数后运行还是正确的,后来就一直错误,代码如下:
Sub 数据地图()
    Dim i%, c As Long '定义变量i为整数
    For i = 2 To 33 '为数据源的起始行和结束行行号,根据区域的多少来定
        Select Case Cells(i, 3) '循环引用第3列的数据
            Case Is >= Range("F2") '如果第3列数据大于F2
                c = Range("G2").Interior.Color '那么就填充G2的颜色
            Case Range("F3") To Range("F2")  '如果第3列数据在F3和F2之间
                c = Range("G3").Interior.Color '那么就填充G3的颜色
            Case Range("F4") To Range("F3") '如果第3列数据在F4和F3之间
                c = Range("G4").Interior.Color '那么就填充G4的颜色
            Case Range("F5") To Range("F4") '如果第3列数据在F5和F4之间
                c = Range("G5").Interior.Color '那么就填充G5的颜色
Case Else
                c = Range("G6").Interior.Color '否则就填充G6的颜色
        End Select '结束选择
       ActiveSheet.Shapes(Cells(i, 2)).Fill.ForeColor.RGB = c '填充当前活动工作表中第二列对应图形的颜色
    Next
End Sub


应该是下划线这段错误了,说是无效的过程调用或者参数,求教各位大神怎么修改?我把我的Excel表格也传上来了,哪位大神解答下,跪谢



最佳答案
2017-10-16 16:24
如下图所示,新疆对应的Shape Name是“Rectangle 39”,你代码使用Shapes("新疆")当然会报错咯!解决方法:将每个Shape对应的名字改成城市;或者增加一列辅助列,将城市对应图形的名称列出,然后代码根据图形名称进行循环{:2112:}



1.jpg

全国地图.rar

115.41 KB, 下载次数: 4

地图VBA

发表于 2017-10-16 14:36 | 显示全部楼层
本帖最后由 砂海 于 2017-10-16 17:09 编辑

貌似 RGB 是三个数字 , c只是一个 , 把 " .RGB "去掉看看==================================
补充说明: 我这个回答是错误的
回复

使用道具 举报

 楼主| 发表于 2017-10-16 15:20 | 显示全部楼层
砂海 发表于 2017-10-16 14:36
貌似 RGB 是三个数字 , c只是一个 , 把 " .RGB "去掉看看

先感谢回复,貌似不是这个问题,我去掉了还是没用
回复

使用道具 举报

发表于 2017-10-16 16:24 | 显示全部楼层    本楼为最佳答案   
如下图所示,新疆对应的Shape Name是“Rectangle 39”,你代码使用Shapes("新疆")当然会报错咯!解决方法:将每个Shape对应的名字改成城市;或者增加一列辅助列,将城市对应图形的名称列出,然后代码根据图形名称进行循环{:2112:}



1.jpg

回复

使用道具 举报

 楼主| 发表于 2017-10-16 16:33 | 显示全部楼层
windyjw007 发表于 2017-10-16 16:24
如下图所示,新疆对应的Shape Name是“Rectangle 39”,你代码使用Shapes("新疆")当然会报错咯!解决方法: ...

先感谢,然后还是有点小问题,我并不希望文本框也有底色,只有下面的图形颜色有变化,全部改了后我发现文本框底色也会变了

捕获.JPG
回复

使用道具 举报

 楼主| 发表于 2017-10-16 16:35 | 显示全部楼层
windyjw007 发表于 2017-10-16 16:24
如下图所示,新疆对应的Shape Name是“Rectangle 39”,你代码使用Shapes("新疆")当然会报错咯!解决方法: ...

感谢啦,我知道怎么回事了,田径和上海这两个地方没有对应的图形,得重新下一个图了,已解决,再次感谢
回复

使用道具 举报

发表于 2017-10-16 17:05 | 显示全部楼层
貌似 Power BI 直接有这样的功能 , 不用这么麻烦

点评

那是啥东东?普及一下拉!  发表于 2017-10-16 17:12
回复

使用道具 举报

发表于 2017-10-16 18:24 | 显示全部楼层
Power BI | 交互式数据可视化 BI 工具
通过Microsoft Power BI 的交互式数据可视化 BI 工具,以全新方式查看公司数据。... 无论需要何种数据,无论数据位于何处,使用 Power BI 便可助你连接到数百种数据...
nc - 副.png
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-4-25 15:26 , Processed in 0.463623 second(s), 16 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表