【发布时间】:2014-03-12 12:54:42
【问题描述】:
我正在尝试连接两个单元格并根据字符串中是否存在“U”来格式化子字符串。我查看了其他几个线程来构建下面的代码,但它在 .characters 命令行中挂起。
连接也是基于 B、C 和 D 列中的值比较相同的迭代。在连续连接期间红色字符是否会保留在原位,还是我最好尝试根据结果字符串中带有 U 的部分来格式化最终字符串?
例如,如果 H 列的值要在下面的循环中按如下顺序连接在一起:
- 7/11/2012 A & vbCrLf & 8/09/2014 A U
- 7/11/2012 A & vbCrLf & 8/09/2014 A U & vbCrLf & 18/09/2013 A
- 7/11/2012 A & vbCrLf & 8/09/2014 A U & vbCrLf & 18/09/2013 A & vbCrLf & 7/02/2014 A U
非常感谢任何帮助。 TIA。
Sub CustomFormat()
' CustomFormat Macro
Dim LR As Long, Rw As Long, FinishPoint As Integer
LR = Range("A" & Rows.Count).End(xlUp).Row
For Rw = LR To 1 Step -1
If Range("B" & Rw).Value = Range("B" & Rw - 1).Value And _
Range("C" & Rw).Value = Range("C" & Rw - 1).Value And _
Range("D" & Rw).Value = Range("D" & Rw - 1).Value Then
Range("H" & Rw - 1).Value = Range("G" & Rw - 1).Value & vbCrLf & Range("G" & Rw).Value
End If
If InStr(1, Range("G" & Rw - 1).Value, "U") Then
FinishPoint = Len(Range("G" & Rw - 1).Value)
With Range("H" & Rw - 1).Value
With .Characters(1, FinishPoint).Font.Color = vbRed
End With
End With
End If
Next Rw
【问题讨论】:
标签: excel formatting string-concatenation vba