
是十进制数格式,查询interior.color的值。
1.参考下表可以查询某一种颜色的颜色指标值。
2.首先,您需要在EXCEL工作表的空白页下创建一个按钮控件。效果如下图所示:是的
3.单击鼠标右键找到指定的宏并创建宏模块。 *** 作界面如下图所示:
4.进入vbaprojectproject模式,找到模块1,在模块1的界面中编写代码。效果如下图所示:
5.下一步是编写代码。
SubMsg()
Sheet1。范围(“C2:E6”)。内部。ColorIndex=27
EndSub
6 最后,点击按钮控件,触发代码,运行结果,显示背景颜色,vba中的代码。内部。ColorIndex = 27
假如你通过GetSysColor获得的值为:16053492,
那么转换成16进制,Hex(16053492)="F4F4F4",也就是说RGB值为:
(&HF4,&HF4,&HF4),即(244,244,244)
先用colorindex设置,然后用color属性获取,再转换成RGB,好简单。
下面是个vbs示例,请放到excel里面运行:
Sub ListColor()
Dim r As Double, g As Double, b As Double
Dim k As Long
Range("A1") = "ColorIndex 值"
Range("B1") = "色 卡"
Range("C1") = "RGB 值"
Range("D1") = "色 卡"
For i = 1 To 56
Range("A" & i + 1) = i
Range("B" & i + 1)InteriorColorIndex = i
k = Range("B" & i + 1)InteriorColor
r = k Mod 256
b = Int(k / 65536)
g = Int((k - (b 65536)) / 256)
Range("C" & i + 1) = r & "," & g & "," & b
Range("D" & i + 1)InteriorColor = RGB(r, g, b)
Next
With Range("A1")CurrentRegion
EntireColumnAutoFit
HorizontalAlignment = xlCenter
VerticalAlignment = xlCenter
End With
End Sub
各位朋友,今天和你们分享Excel中颜色的一些基础知识,详见下面列表:
1、颜色索引值及其使用:ColorIndex;
2、颜色的RGB值;
3、颜色的RGB值与十进制值的相互转换;
4、颜色的RGB值与16进制值的相互转换;
5、颜色的中文名称、英文名称及其使用;
6、赠送的自定义函数演示效果及代码;
一、颜色索引表
在Excel中,颜色索引为1~56,共56个,我们可以用下面的VBA代码生成颜色索引和对应的颜色:
Sub生成1至56号颜色()
Dima%
Fora=1To56
Range("A"&a+2)=a'列生成颜色索引代码
Range("B"&a+2)InteriorColorIndex=a'B列显示对应的颜色
Next
EndSub
你的问题可以这样的解决:
Private Declare Function GetPixel Lib "gdi32" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long) As Long
Private Sub Picture1_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single)
Print "该点的象素RGB值是:"; GetPixel(Picture1hdc, x, y)
End Sub
getpixel函数的用法:
Declare Function GetPixel Lib "gdi32" Alias "GetPixel" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long) As Long
说明
在指定的设备场景中取得一个像素的RGB值
返回值
指定点的RGB颜色。如指定的点位于设备场景的剪切区之外,则返回CLR_INVALID
给你的一点建议:学习vb一定要学习vb的api,非常的重要!!
function RGB(rgb){ var regexp = /[0-9]{0,3}/g; var
re = rgbmatch(regexp); alert(re); for(var i=0;i if(re[i]==""){
resplice(i,1); i--; } } alert(re);
}-----------------------------------转换成16进制function RGBToHex(rgb){
var regexp = /[0-9]{0,3}/g; var re =
rgbmatch(regexp);//利用正则表达式去掉多余的部分,将rgb中的数字提取 var hexColor = "#"; var
hex = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C',
'D', 'E', 'F']; for (var i = 0; i < relength; i++) { var r
= null; var c = re[i]; var hexAr = []; while (c >
16){ r = c % 16; c = (c / 16) >> 0;
hexArpush(hex[r]); } hexArpush(hex[c]);
if(c < 16&&c != ""){ hexArpush(0)
} hexColor += hexArreverse()join(''); }
//alert(hexColor) return hexColor; }
以上就是关于在Excel VBA中,单元格的.interior.color的值是什么格式的全部的内容,包括:在Excel VBA中,单元格的.interior.color的值是什么格式的、VB用API函数GETSYSCOLOR获取的RGB值跟想要的颜色不一样、VBA中 ColorIndex 与 BackColor 如何相互转换等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)