Vba 日期、列、条件格式、相邻单元格(下/上)
大家好,大家好 我相信VBA代码是解决我的问题所必需的。 所以,请善待我,帮助我 我有很多日期的表(所有日期都在一个特定的列中)。 带有日期的单元格不按特殊顺序填充。 由于其他数据(其他列中的数据),筛选不适用 需要什么(问题):Vba 日期、列、条件格式、相邻单元格(下/上),vba,excel,date,Vba,Excel,Date,大家好,大家好 我相信VBA代码是解决我的问题所必需的。 所以,请善待我,帮助我 我有很多日期的表(所有日期都在一个特定的列中)。 带有日期的单元格不按特殊顺序填充。 由于其他数据(其他列中的数据),筛选不适用 需要什么(问题): 是否有方法比较相邻单元格(上/下单元格)的日期 如果日期相同,则从具有相同日期的列中的1个单元格复制条件格式 只有在协商日期不同的情况下,条件格式才会更改 例如: Column (date) I conditional formatting interior
- 是否有方法比较相邻单元格(上/下单元格)的日期
- 如果日期相同,则从具有相同日期的列中的1个单元格复制条件格式
- 只有在协商日期不同的情况下,条件格式才会更改
Column (date) I conditional formatting interior cell color
A I (CF)
25.11.2017 I blue
26.11.2017 I red
26.11.2017 I red
26.11.2017 I red
22.11.2017 I blue
22.11.2017 I blue
25.11.2017 I red
etc. I etc.
我熟悉VBA,所以VBA代码会很棒。我相信,这里需要私人潜水艇
非常感谢
克罗地亚的问候
Marko假设数据从单元格A1开始。我认为这可以简化一点 但是,
Public Sub ColourCells()
Dim wb As Workbook
Dim wsSource As Worksheet
Set wb = ThisWorkbook
Set wsSource = wb.Worksheets("Sheet1")
Dim lastRow As Long
lastRow = wsSource.Cells(wsSource.Rows.Count, "A").End(xlUp).Row
Dim loopRange As Range
Set loopRange = wsSource.Range("A1:A" & lastRow) ' adjust here if starts elsewhere
Dim currValue As Variant
Dim cellColor As String
cellColor = vbBlue
Dim currCell As Range
For Each currCell In loopRange.Rows
If Not IsEmpty(currCell) Then
If currCell.Row = 1 Then
currCell.Font.Color = cellColor
currValue = currCell.Value2
ElseIf currCell = currValue Then
currCell.Font.Color = cellColor
Else
If cellColor = vbBlue Then
cellColor = vbRed
Else
cellColor = vbBlue
End If
currCell.Font.Color = cellColor
currValue = currCell.Value2
End If
End If
Next currCell
End sub
实际源列中是否有空格?单元格中没有空格。列中可能有空单元格。请详细说明着色标准。着色标准-这是我需要您帮助的主要原因:-更改日期的单元格(与上面的单元格相比)需要使用特定颜色(例如:红色)着色,例如-单元格A2(26.11.2017)与单元格A1(24.112017)相比将A2单元内部变为红色-下一个日期与上面的单元进行比较(偏移量(-1,0))示例A3单元(2017年11月26日)与A2单元(2017年11月26日)相比将A3单元内部变为与A2单元内部相同的颜色-下一个日期/A4单元(2017年11月30日)与A3单元(2017年11月26日)相比将A4单元内部变为蓝色-A5单元(2017年11月30日)与A4以上的单元格相比(2017年11月30日),单元格A%的内部与A4内部相同,--日期列中可能有空白单元格,空白单元格的格式无关紧要(可以合并为红色、蓝色或无颜色)日期范围非常大(2007年到现在(未来)之间的任何日期)。QHarr当我看到你时,我会给你买啤酒。你的程序运行得很好。这很简单,最重要的是完成这项工作。再一次,非常感谢。你好,我很高兴能帮上忙。