所以创建一个表之后,我有一个Yes,No和N / A列,需要为绿色表示是,红色表示否,灰色表示N / A.不是整行而是列。
我不是初学者,但我不是编码专家......这是我的代码:
<xp:viewPanel>
我在我遇到问题的代码上方添加了注释行。当它到达代码的这一部分时,它就会停止运行。
我已经尝试将这部分代码放在几个不同的地方,但仍然无效。
希望我已经为某人提供了足够的信息帮助。
感谢您的时间。
答案 0 :(得分:0)
好吧,既然我发布了这个问题,我继续玩代码并想出了答案。我知道一个IF ......那么它会工作,我只需要放入正确的组合,一旦我做了,我就得到了代码工作......请参阅下面的解决方案:
R = 2
With .Table
While Not rs26.EOF
For C = 1 To 5
.Cell(R, C).Shape.TextFrame.TextRange.Text = Nz(rs26.Fields(C - 1))
.Cell(R, C).Shape.TextFrame.TextRange.Font.Size = 8
.Cell(R, C).Shape.TextFrame.TextRange.ParagraphFormat.Alignment = ppAlignLeft
If Nz(rs26.Fields(2 - 1)) = "Yes" Then
.Cell(R, 2).Shape.Fill.ForeColor.RGB = RGB(146,208,80) 'Green
.Cell(R, 2).Shape.Fill.BackColor.RGB = RGB(146, 208, 80)
.Cell(R, 2).Shape.TextFrame.TextRange.Font.Color.RGB = RGB(255, 255, 255)
.Cell(R, 2).Shape.TextFrame.TextRange.ParagraphFormat.Alignment = ppAlignCenter
ElseIf Nz(rs26.Fields(2 - 1)) = "No" Then
.Cell(R, 2).Shape.Fill.ForeColor.RGB = RGB(255, 0, 0) 'Red
.Cell(R, 2).Shape.Fill.BackColor.RGB = RGB(255, 0, 0)
.Cell(R, 2).Shape.TextFrame.TextRange.Font.Color.RGB = RGB(255, 255, 255)
.Cell(R, 2).Shape.TextFrame.TextRange.ParagraphFormat.Alignment = ppAlignCenter
Else
.Cell(R, 2).Shape.Fill.BackColor.RGB = RGB(166, 166, 166) ' Gray
.Cell(R, 2).Shape.Fill.ForeColor.RGB = RGB(166, 166, 166)
.Cell(R, 2).Shape.TextFrame.TextRange.ParagraphFormat.Alignment = ppAlignCenter
End If
Next 'c column
rs26.MoveNext
R = R + 1
Wend
rs26.Close
End With
当数据加载到表中时,我基本上在FOR语句中嵌入了IF ... THEN语句。在数据已经在表格中之后我尝试这样做之前。