Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
12
返回列表 发新帖
楼主: fxgg72

[已解决]求:这种地图图表代码怎么改?

[复制链接]
发表于 2017-8-18 23:04 | 显示全部楼层

改颜色的录制个宏看看什么代码?自己动手试试啊,现在基本上没人用2003版了
excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
回复

使用道具 举报

 楼主| 发表于 2017-8-20 15:51 | 显示全部楼层
苏子龙 发表于 2017-8-18 23:04
改颜色的录制个宏看看什么代码?自己动手试试啊,现在基本上没人用2003版了

可我们公司及客户还有供应商90%还是在用03版,我也一样。习惯了。老师能帮忙把1楼的代码改改吗?
谢谢!
回复

使用道具 举报

 楼主| 发表于 2017-8-20 16:08 | 显示全部楼层
这儿有肥猫 发表于 2017-8-18 09:24
关键是我手头所有的电脑装的最低版本都是2007的

想给您个最佳呢!
可我的问题还没解决啊?
老师您想想办法能帮我做下03的么?
谢谢!
回复

使用道具 举报

发表于 2017-8-20 17:17 | 显示全部楼层
fxgg72 发表于 2017-8-20 16:08
想给您个最佳呢!
可我的问题还没解决啊?
老师您想想办法能帮我做下03的么?

03测试代码能用,就是地图要先取消组合

评分

参与人数 1 +3 收起 理由
fxgg72 + 3 赞一个!取消组合,按钮能用。谢谢!

查看全部评分

回复

使用道具 举报

 楼主| 发表于 2017-8-21 10:04 | 显示全部楼层
苏子龙 发表于 2017-8-20 17:17
03测试代码能用,就是地图要先取消组合

地图图表 增添了2列,有点问题?.rar (35.61 KB, 下载次数: 6)
回复

使用道具 举报

发表于 2017-8-21 10:37 | 显示全部楼层
  1. Sub 合同总额()
  2. Dim arr, i, brr, j
  3. On Error Resume Next
  4. Call 取消组合 '加取消组合和组合,应急满足运行宏要求
  5. arr = [o3:s34] '数据源,O是拼音,后面是数据源
  6. brr = [l3:m8] '颜色区域
  7. For i = 1 To UBound(brr)
  8.     brr(i, 1) = Range("l" & i + 2).Interior.Color '把颜色值给brr(i,1)
  9. Next
  10. For j = 1 To UBound(arr) '通过改变arr(j,N)中的n换数据源,range("m3:m8")换数据范围,自己试试
  11.     ActiveSheet.Shapes(arr(j, 1)).Fill.ForeColor.RGB = brr(Application.Match(Application.Lookup(arr(j, 4), Range("m3:m8")), [m3:m8], 0), 1)
  12. Next
  13. Call 组合
  14. End Sub

  15. Sub 组合() '通过录制宏写代码
  16. ActiveSheet.Shapes.Range(Array("hainan", _
  17.         "shanghai", "henan", "taiwan", "guangdong", "guangxi", "fujian", "jiangxi", _
  18.         "hunan", "guizhou", "zhejiang", "anhui", "jiangsu", "hubei", "shanxi3", _
  19.         "shanxi1", "shandong", "tianjin", "beijing", "ninxia", "xizang", "yunnan", _
  20.         "qinghai", "sichuan", "gansu", "hebei", "neimenggu", "liaoning", "jilin", _
  21.         "heilongjiang", "xinjiang", "chongqing")).Select
  22.          ActiveWindow.SmallScroll Down:=3
  23.         Selection.ShapeRange.Group.Select
  24.         Selection.Name = "zuhe" '给他取名
  25. End Sub
  26. Sub 取消组合()
  27. ActiveSheet.Shapes("zuhe").Select
  28. Selection.ShapeRange.Ungroup.Select
  29. End Sub
复制代码

评分

参与人数 1 +3 收起 理由
fxgg72 + 3 赞一个

查看全部评分

回复

使用道具 举报

 楼主| 发表于 2017-8-21 11:33 | 显示全部楼层

地图图表 问题?.rar (37.52 KB, 下载次数: 5)
回复

使用道具 举报

发表于 2017-8-21 11:45 | 显示全部楼层    本楼为最佳答案   
Sub 按客户数新()
Dim arr, i, brr, j
On Error Resume Next
Call 取消合并 '加取消组合和组合,应急满足运行宏要求
arr = [o3:s36] '数据源,O是拼音,后面是数据源
brr = [l15:m20] '颜色区域
For i = 1 To UBound(brr)
    brr(i, 1) = Range("l" & i + 14).Interior.Color '把颜色值给brr(i,1),对应颜色单元格i+14,就是从I15开始的,颜色数据源
Next
For j = 1 To UBound(arr) '通过改变arr(j,N)中的n换数据源这里的数据源n=2
    ActiveSheet.Shapes(arr(j, 1)).Fill.ForeColor.RGB = brr(Application.Match(Application.Lookup(arr(j, 2), Range("m15:m20")), [m15:m20], 0), 1)
Next
Call 合并
End Sub

授人与鱼不如授人予渔,自己体会吧,先想想代码做什么用的!

评分

参与人数 1 +3 收起 理由
fxgg72 + 3 我和小伙伴都惊呆了

查看全部评分

回复

使用道具 举报

 楼主| 发表于 2017-8-21 21:16 | 显示全部楼层
苏子龙 发表于 2017-8-21 11:45
Sub 按客户数新()
Dim arr, i, brr, j
On Error Resume Next

非常感谢!
胡乱猜测这改了下,还蒙出来了。实际我是菜鸟。
感谢您的不厌其烦的解答!
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-26 07:37 , Processed in 0.395354 second(s), 16 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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