只能一个一个单元设置嘛??
如果有很多行要设置那不是很慢了~~~~~~~~

解决方案 »

  1.   

    '不会慢啊,关键是设置好Redraw重画属性Option ExplicitDim lngOldRow As LongPrivate Sub Form_Load()
        Dim i As Long
        
        MSFlexGrid1.Rows = 10: MSFlexGrid1.Cols = 5
        
        For i = 1 To MSFlexGrid1.Rows - 1
            MSFlexGrid1.TextMatrix(i, 1) = "aaaa" & i
        Next    MSFlexGrid1.SelectionMode = flexSelectionByRow
    End SubPrivate Sub MSFlexGrid1_Click()
        MSFlexGrid1.Redraw = False
        Dim i As Long, lngNewRow As Long
        
        lngNewRow = MSFlexGrid1.Row
        MSFlexGrid1.Row = lngOldRow
        For i = 1 To MSFlexGrid1.Cols - 1
            MSFlexGrid1.Col = i
            MSFlexGrid1.CellBackColor = vbWhite
        Next
        
        MSFlexGrid1.Row = lngNewRow
        For i = 1 To MSFlexGrid1.Cols - 1
            MSFlexGrid1.Col = i
            MSFlexGrid1.CellBackColor = vbRed
        Next
        MSFlexGrid1.Redraw = True
        
        lngOldRow = lngNewRow
    End Sub
      

  2.   

    Dim i As Integer
        Dim n As Integer
        For i = 2 To 4
            For n = 1 To Me.msflexgrid1.Rows - 1
                Me.msflexgrid1.Col = i
                Me.msflexgrid1.Row = n
                Me.msflexgrid1.CellBackColor = &HE0E0E0
            Next n
        Next i
        Me.msflexgrid1.Col = 8
        For i = 1 To Me.msflexgrid1.Rows - 1
            Me.msflexgrid1.Row = i
            Me.msflexgrid1.CellBackColor = &HE0E0E0
        Next
        Me.msflexgrid1.Col = 10
        For i = 1 To Me.msflexgrid1.Rows - 1
            Me.msflexgrid1.Row = i
            Me.msflexgrid1.CellBackColor = &HE0E0E0
        Next