在Excel VBA中,单元格的.interior.color的值是什么格式的

在Excel VBA中,单元格的.interior.color的值是什么格式的,第1张

是十进制数格式,查询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 如何相互转换等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9688528.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-01
下一篇2023-05-01

发表评论

登录后才能评论

评论列表(0条)

    保存