VBA 如何替换不同背景颜色的0为T?
EXCEL VBA的问题 关于替换颜色
你试试这个是不是你想要的效果
Worksheets("1").Range("H6:Z8").Interior.ThemeColor = xlThemeColorAccent5
VBA改写两种方法 多列内容者添加背景色
Sub 四列皆相同者添加背景色()
Dim rng As Range, i As Integer, t$
With CreateObject("scripting.dictionary")
For Item = 2 To Cells(Rows.Count, 1).End(xlUp).Row
t = Cells(Item, 1).Value & "@" & Cells(Item, 2).Value & "@" & Cells(Item, 4).Value & "@" & Cells(Item, 5).Value
If .exists(t) Then
If rng Is Nothing Then
Set rng = Cells(Item, 1).Resize(1, 5)
Else
Set rng = Union(rng, Cells(Item, 1).Resize(1, 5))
End If
Else
.Add t, ""
End If
Next
End With
If Not rng Is Nothing Then rng.Interior.ColorIndex = 3
End Sub
如何用vba实现在输入不同名字显示不同底色?
您好!
第一步,在Excel中把你要涂色的人名放到sheet1的第一列,置顶;
第二部,在“开发工具”选项卡中点击Visual Basic,打开后在左边(VBA Project)中点击Sheet1,把下面的代码完整地拷贝进去(“开发工具”选项卡如果没有,需要在Excel界面左上角原图标->Excel 选项->常用 中勾选);
第三部,回到Excel界面,点击“开发工具”->“宏”->Sheet1.排序后涂色->执行。完成。
备注:由于colorindex最大值只有56,因此你的名字种类不能超过56种。若不够,可以把colorindex改为color。
Sub 排序后涂色()
Dim totalrows As Long
Dim someRange As Range
Dim colornumber As Long
totalrows = ActiveSheet.UsedRange.Rows.Count
Set someRange = Range("A1:A" & totalrows)
'先排序
Sheets("Sheet1").Sort.SortFields.Clear
Sheets("Sheet1").Sort.SortFields.Add Key:=someRange _
, SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With Sheets("Sheet1").Sort
.SetRange someRange
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
'再检查单一性
colornumber = 2
Range("A1").Interior.ColorIndex = colornumber
For i = 2 To totalrows
If Range("A" & i).Value = Range("A" & i - 1).Value Then
Range("A" & i).Interior.ColorIndex = colornumber
Else
colornumber = colornumber + 1
Range("A" & i).Interior.ColorIndex = colornumber
End If
Next
End Sub
VBA如何指定单元格的背景颜色
[A1].Interior.ColorIndex = 3
指定A1单元格的背景颜色为红色。