我试图在不丢失格式的情况下将新的文本行插入现有单元格。
在单个单元格中,我有一个循环来根据工作表中的列添加连接文本。这样可以正常工作,但我需要能够将某些行格式化为绿色(如果它是加性的)和RED(如果它与全局标准相比被删除)。
例如:
" Donald Duck 1 - Minnie Mouse 1
唐老鸭2 - 米妮2(绿色)
唐老鸭3 - 米妮3
唐老鸭4 - 米妮4(红色)
高飞 - 39 - 冥王星 - 39高飞 - 42 - 冥王星 - 42"
我当前的代码执行循环,但问题是我每次用该单元格中的新数据行覆盖时都会丢失现有的格式。
If ActiveCell.Offset(0, ColumnOffset) = 1 Then
Need = ActiveCell.Offset(NeedNameOffset, ColumnOffset).Value
DocCode = ActiveCell.Offset(NeedNameOffset + 1, ColumnOffset).Value
If NeedsType = "Data Needs" Then
DestDataNeedsCell.Value = DestDataNeedsCell.Value & NeedsCategory & " - " & Need & vbCrLf
ElseIf NeedsType = "Document Needs" Then
DestDocNeedsCell.Value = DestDocNeedsCell.Value & NeedsCategory & " - " & Need & " (" & DocCode & ")" & vbCrLf
End If
我尝试使用一个Character()。插入函数,它似乎最初工作,但由于某种原因不会添加所有数据。我也不认为我改变颜色的方法正好改变了活动线。
If ActiveCell.Offset(0, ColumnOffset) = 1 Then
strValue = ActiveCell.Offset(0, ColumnOffset).Value
Need = ActiveCell.Offset(NeedNameOffset, ColumnOffset).Value
DocCode = ActiveCell.Offset(NeedNameOffset + 1, ColumnOffset).Value
If NeedsType = "Data Needs" Then
If strValue = "+1" Then
startChar = Len(DestDataNeedsCell)
DestDataNeedsCell.Characters(Len(DestDataNeedsCell) + 1, 1).Insert (NeedsCategory & " - " & Need & vbCrLf)
endChar = Len(DestDataNeedsCell)
DestDataNeedsCell.Characters(Start:=startChar, Length:=endChar).Font.Color = vbGreen
ElseIf strValue = "-1" Then
startChar = Len(DestDataNeedsCell)
DestDataNeedsCell.Characters(Len(DestDataNeedsCell) + 1, 1).Insert (NeedsCategory & " - " & Need & vbCrLf)
endChar = Len(DestDataNeedsCell)
DestDataNeedsCell.Characters(Start:=startChar, Length:=endChar).Font.Color = vbRed
Else
DestDataNeedsCell.Characters(Len(DestDataNeedsCell) + 1, 1).Insert (NeedsCategory & " - " & Need & vbCrLf)
End If
答案 0 :(得分:0)
也许这个简单的例子会有所帮助。如果您在A1中的示例中有起始文本,然后在A5中使用“Donald Duck 4 - Minnie Mouse 4”,则会将其添加到最后并将文本着色为红色。
/api/Parameters/{ParameterId}