Excel单元格填充RGB()颜色的源代码

liuyinax 2010-06-22 01:23:34
我能实现下列程序的颜色输入。
dim m as string 'm为字符串变量
For i=0 to 100

m="E" & i '在E列101行单元格中填充变量确定的RGB颜色
Range(m).Interior.color=RGB(变量,变量,变量)
Next

但我需要不同列、不同行的不同颜色输入,下列代码不知错在什么地方?

Range("A1:G100").Cells(i,j).Interior.color=RGB(3个变量)


说明:1、A——G列无法用变量表示;

2、则用i为行(1 to 100)、j为列[(1 to 7)即(A——G)]的变量。
...全文
2217 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
ldy888 2010-06-23
  • 打赏
  • 举报
回复
xlsheet2.Range("A1:E10").Cells_default(3, 4).Interior.Color = RGB(234, 154, 157) '为什么该句不运行?
写错了。多了 _default


xlsheet2.Range("A1:E10").Cells(3, 4).Interior.Color = RGB(234, 154, 157) '为什么该句不运行?
ldy888 2010-06-23
  • 打赏
  • 举报
回复
2003 只根据自己的56个颜色表,给近似值,但这个颜色表也是可以自定义的,颜色表保存在工作簿中
2007 升级了,可以显示所有颜色
bcrun 2010-06-23
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 lyserver 的回复:]
Excel不支持完全的RGB颜色,它有自己的颜色表,你给了RGB颜色,它也只取近似值。
[/Quote]

你是指的打印效果吗?我在excel2007上试了,屏幕上单元格背景色显示RGB颜色是没问题的,不存在近似值的问题.
lyserver 2010-06-22
  • 打赏
  • 举报
回复
Excel不支持完全的RGB颜色,它有自己的颜色表,你给了RGB颜色,它也只取近似值。
舉杯邀明月 2010-06-22
  • 打赏
  • 举报
回复
xlsheet2.Range("A1:E10").Cells(3, 4).Interior.Color = RGB(234, 154, 157)
liuyinax 2010-06-22
  • 打赏
  • 举报
回复
Option Explicit

Public xlapp As Excel.Application '定义Excel类
Public xlbook As Excel.Workbook '定义工作簿类
Public xlsheet1 As Excel.Worksheet '定义工作表类(存放原始只读数据)
Public xlsheet2 As Excel.Worksheet '定义工作表类(显示运行结果)
Private Sub Form_Load()
On Error Resume Next '忽略错误
Set xlapp = GetObject(, "Excel.Application") '查找一个正在运行的 Excel 拷贝
If Err.Number <> 0 Then '如果 Excel 没有运行则
Set xlapp = CreateObject("Excel.Application") '运行它
End If
Err.Clear ' 清除发生错误的 Err 对象
On Error GoTo 0 '保留普通错误进程
CommonDialog1.Action = 1
Set xlbook = xlapp.Workbooks.Open(CommonDialog1.FileName)
Set xlsheet1 = xlbook.Worksheets(1)
Set xlsheet2 = xlbook.Worksheets(2)
xlsheet1.Activate
xlsheet2.Activate
xlbook.RunAutoMacros (xlAutoOpen)
xlapp.Visible = True
xlsheet2.Range("A1").Interior.Color = RGB(234, 154, 157) '该句能运行
xlsheet2.Range("A1:E10").Cells_default(3, 4).Interior.Color = RGB(234, 154, 157) '为什么该句不运行?请改一下。谢谢!
End Sub
赵4老师 2010-06-22
  • 打赏
  • 举报
回复
Dim i As Integer
Dim j As Integer
For i = 1 To 10
For j = 1 To 7
Sheet1.Range("A1:G10").Cells(i, j).Interior.Color = RGB((j - 1) * 32, ((i + j - 2) Mod 2) * 255, (i - 1) * 25)
Next
Next


bcrun 2010-06-22
  • 打赏
  • 举报
回复
楼主你这样写代码太随意了,提问,尤其是代码出错时提问,最好还是复制源代码:
参考一下吧:
Option Explicit

Sub t1()
Dim m As String 'm为字符串变量
Dim i As Integer
For i = 1 To 100

m = "E" & i '在E列101行单元格中填充变量确定的RGB颜色
Range(m).Interior.Color = RGB(255, 0, 255)
Next
End Sub
Sub t2()
Dim i As Integer, j As Integer
Dim rge As Range
Set rge = Range("A1:G100")
For i = 1 To 100
For j = 1 To 7
rge.Cells(i, j).Interior.Color = RGB(0, 255, 255)
Next j
Next i
End Sub

7,785

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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