Excel 我无法清除和重置单元格的背景色

Excel 我无法清除和重置单元格的背景色,excel,vbscript,vba,Excel,Vbscript,Vba,在下面命令的帮助下,我可以清除单元格的内容,但不能清除其背景色。如何清除和设置范围内单元格的背景色 ob9.Range(ob9.Cells(1,StartCol),ob9.Cells(1,maxcolumn)).ClearContents 编辑 我尝试了以下方法: CountFill = objExcel1.Application.WorksheetFunction.CountA(ob9.Rows(1)) CountBlnk = objExcel1.Application.WorksheetF

在下面命令的帮助下,我可以清除单元格的内容,但不能清除其背景色。如何清除和设置范围内单元格的背景色

ob9.Range(ob9.Cells(1,StartCol),ob9.Cells(1,maxcolumn)).ClearContents
编辑

我尝试了以下方法:

CountFill = objExcel1.Application.WorksheetFunction.CountA(ob9.Rows(1))
CountBlnk = objExcel1.Application.WorksheetFunction.CountBlank(ob9.Rows(1))
TotalColumn= CountBlnk + CountFill

ob9.Range(ob9.Cells(1,CountFill + 1 ),ob9.Cells(1,TotalColumn)).Interior.ColorIndex(-4142) '= xlColorIndexNone
能在一条线上完成吗

谢谢你可以试试

ob9.Range(ob9.Cells(1,StartCol),ob9.Cells(1,maxcolumn)).Select
Selection.Interior.ColorIndex = xlColorIndexNone
Selection.Interior.ColorIndex = xlNone
最后两行中有一行应该行得通,但我不确定哪一行我没有Excel。如果你能同时尝试这两种方法并汇报,那就太好了

您可以使用以下设置颜色:

Selection.Interior.Color = RGB(255,0,0)

一切都很好。但不要选择,因为你正在运行一个庞大的脚本,知道你到目前为止经历了什么

with ob9.Range(ob9.Cells(1,StartCol),ob9.Cells(1,maxcolumn))
.Interior.ColorIndex = xlColorIndexNone
.Interior.ColorIndex = 120
End With
如果您直接使用该范围,您甚至可以删除块,因为它也有一些性能减慢的缺点

回答您的子问题:

如何从列编号中获取列名称

如何根据OP的maxcolumn名称或编号设置范围

您提到您需要行1,maxcolumn,然后您可以使用这两个数据构建单元

MsgBox Sheets3.Rows1.Columns5.Address

因此,请尝试:

MsgBox Sheets3.Rows1.Columnsmaxcolumn.Address


知道如何在VBA中选择范围(如第9列到第1行之前)吗?知道如何在VBA中选择范围(如第9列到第1行之前)吗?使用偏移量,调整大小,如昨天文章中给出的;'-突出显示最大总计行。`使用Sheets3.RangeB3.OffsetmaxRowNum-1,0.Resize1,UBoundarrInput,1+1.Interior.Color=200结束是的,我明白你的意思,但我不知道maxcolumn的值是什么?那么,我应该写什么呢?对于第1行,从maxcolumn到excel的最后一列都应该设置为no colorsIT,这是昨天代码TUKAI中的。所以我们假设你已经经历过了。我还没有使用maxcolumn。尝试输入一些值,看看它是如何工作的,这样您就可以理解这两个属性。问题中的上述代码已经从startcolumn到maxcolumn中选择了第一行。那么为什么你说你不知道你自己发布的代码呢?如果你需要给B3单元格上色,那就把整行都上色。执行此操作,.RangeB3.offset0,0.Resize1,maxcolumn.Interior.Color=100@bonCodigo有没有简单的方法可以做到这一点?Excel不使用VBScript。您想要VBScript还是VBA解决方案?@Remou我正在使用VBScript处理Excel。我需要VBScript方法。但有一件事要提的是,VBA代码可以转换为VBScript,只需稍加修改。因此,我使用了VBScript和EXCEL VBA标记。在这种情况下,您的标记是VBScript和EXCEL,而不是EXCEL VBA,您正在寻找VBScript解决方案,而不是VBA解决方案。也可以说VB6可以很容易地转换为VBA和VBScript—它在哪里结束?