Public Sub SetFlexGridRowBackColor(cFlexGrid As MSHFlexGrid, oCellColorFirst As Long, oCellColorNext As Long)
Dim K As Long
Dim l As Long
Dim oCounterCols As Long
Dim oCounterRows As LongWith cFlexGrid
    oCounterCols = .Cols - 1
    oCounterRows = .Rows - 1
    .Redraw = False
    For K = 0 + .FixedRows To oCounterRows
        For l = 0 + .FixedCols To oCounterCols
            .Row = K
            .Col = l
        
            If (K + .FixedRows) Mod 2 = 0 Then
                .CellBackColor = oCellColorFirst
            Else
                .CellBackColor = oCellColorNext
            End If
        
        Next l
    Next K
    .Redraw = True
End WithEnd Sub
调用:SetFlexGridRowBackColor msflexgrid, vbWhite, vbYellow 我从vbprobe来,在那也是我的发言,改一下就可,这分我是要定啊

解决方案 »

  1.   

    '第四列
    Me.MSHFlexGrid1.Col = 4
    'i为行号,如果有标题行i=1,否则为0
    For i = 1 To Me.MSHFlexGrid1.Rows - 1
    Me.MSHFlexGrid1.Row = i
    If CLng(Me.MSHFlexGrid1.Text) > 0 Then
        Me.MSHFlexGrid1.CellForeColor = vbBlue
    End If
    Next i
      

  2.   

    Public Sub SetFlexGridColBackColor(cFlexGrid As MSHFlexGrid, oCellColorFirst As Long, oCellColorNext As Long)
    Dim K As Long
    Dim l As Long
    Dim oCounterCols As Long
    Dim oCounterRows As LongWith cFlexGrid
        oCounterCols = .Cols - 1
        oCounterRows = .Rows - 1
        .Redraw = False
        For K = 0 + .FixedRows To oCounterRows
            For l = 0 + .FixedCols To oCounterCols
                .Row = K
                .Col = l
            
                If (l + .FixedCols) Mod 2 = 0 Then
                    .CellBackColor = oCellColorFirst
                Else
                    .CellBackColor = oCellColorNext
                End If
            
            Next l
        Next K
        .Redraw = True
    End WithEnd Sub
    SetFlexGridColBackColor msflexgrid, vbblue, vbYellow改改应该就可以啦
      

  3.   

    正确答案如下:
    '第四列
    Me.MSHFlexGrid1.Col = 4
    'i为行号,如果有标题行i=1,否则为0
    For i = 1 To Me.MSHFlexGrid1.Rows - 1
    Me.MSHFlexGrid1.Row = i
    If CLng(Me.MSHFlexGrid1.Text) >= 0 Then
        Me.MSHFlexGrid1.CellForeColor = vbBlue
    Else
        Me.MSHFlexGrid1.CellForeColor = vbGreen  
    End If
    Next i
      

  4.   

    正确答案如下:
    '第四列
    Me.MSHFlexGrid1.Col = 4
    'i为行号,如果有标题行i=1,否则为0
    For i = 1 To Me.MSHFlexGrid1.Rows - 1
        Me.MSHFlexGrid1.Row = i
        Me.MSHFlexGrid1.CellForeColor = Iif(CLng(Me.MSHFlexGrid1.Text) >= 0,vbBlue,vbGreen)  
    Next i