Excel VBA中怎样得到当前使用的填充颜色值?

lihanbing 2011-05-11 02:41:29
比如当前选择的背景填充是黄色,对应的ColorIndex=6,那么我在代码中怎样能得到这个值呢
...全文
573 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 lihanbing 的回复:]
我想楼上理解错了,我要的不是当前选择的区域的填充颜色,而是工具栏上那个按钮里面当前选定的颜色
[/Quote]

这个深了
lihanbing 2011-05-12
  • 打赏
  • 举报
回复
如何设置背景色我知道,做调色板嫌麻烦,想偷懒直接用现成的,找了半天没发现怎么取
z_wenqian 2011-05-12
  • 打赏
  • 举报
回复
你是问如何从工具栏里取颜色值,而不是设置选择区域的背景色吧。
如果是自己编程要选择颜色的话,可以调出调色板来做,颜色值随便选。
附一段代码,设置单元格背景色:
For i = 1 To 56
Range("A" & i) = i
Range("B" & i).Interior.ColorIndex = i
Next i
lihanbing 2011-05-12
  • 打赏
  • 举报
回复

Sub a()
Dim c As CommandBar
Set c = Application.CommandBars("Formatting")
Dim cc As CommandBarControl
For Each cc In c.Controls
If cc.ID = 1691 Then
MsgBox cc.TooltipText
End If
Next
End Sub

找到一个折中的方法,能取到那个按钮的tooltip文本,里面包含了当前的颜色名,还得通过查表替换成colorindex才行
lihanbing 2011-05-11
  • 打赏
  • 举报
回复
我想楼上理解错了,我要的不是当前选择的区域的填充颜色,而是工具栏上那个按钮里面当前选定的颜色
huangyang0613 2011-05-11
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 simon__sun 的回复:]
也可以这样指定获取
Debug.Print Worksheets("sheet1").Range("A1").Interior.ColorIndex
[/Quote]
楼主,有楼上那位仁兄给你的答案,你可以结帖了。嘻嘻!!
simon__sun 2011-05-11
  • 打赏
  • 举报
回复
也可以这样指定获取
Debug.Print Worksheets("sheet1").Range("A1").Interior.ColorIndex
simon__sun 2011-05-11
  • 打赏
  • 举报
回复
Selection.Interior.ColorIndex

2,462

社区成员

发帖
与我相关
我的任务
社区描述
VBA(Visual Basic for Applications)是Visual Basic的一种宏语言,是在其桌面应用程序中执行通用的自动化(OLE)任务的编程语言。
社区管理员
  • VBA
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧