1.找到点击当前单元格的行与列的值,找了好久不知哪个属性可用请各位大侠帮帮忙!
2.找到所点击行的第二列的值.
3.让点击当前行底色变色.(方便观看)

解决方案 »

  1.   

    给你个例子参照看一下:
    模块中内容:
    Option Explicit
    '定义结构类型
    Public Type 天气信息
        气温 As Single
        风向 As String
        凤力 As Single
    End Type窗体内部代码:
    Private Sub Form_Click()
        Dim udtA(9) As 天气信息     '声明结构数据
        Dim intI As Integer, intJ As Integer
    '为结构赋网格数据值
        For intI = 0 To 9
            udtA(intI).气温 = MSFlexGrid1.TextMatrix(intI + 1, 1)
            udtA(intI).风向 = MSFlexGrid1.TextMatrix(intI + 1, 2)
            udtA(intI).凤力 = MSFlexGrid1.TextMatrix(intI + 1, 3)
        Next intI
    '在立即窗口打印赋值结果
        Debug.Print "城市", "气温", "风向", "风力"
        For intI = 0 To 9
            Debug.Print "城市" & intI + 1, _
                udtA(intI).气温, udtA(intI).风向, udtA(intI).凤力
        Next intI
    End SubPrivate Sub Form_Load()
        Dim intI As Integer
    '设定网格的行数和列数
        MSFlexGrid1.Cols = 4            '3种天气信息
        MSFlexGrid1.Rows = 11           '10个城市
    '建立说明列
    '属性MSFlexGrid1.FixedRows可设置或返回固定行总数,缺省为1
    '属性MSFlexGrid1.TextArray可设置或返回网格文本的内容
        For intI = MSFlexGrid1.FixedRows To MSFlexGrid1.Rows - 1
            MSFlexGrid1.TextArray(MSFlexGrid1.Cols * intI) = _
            "城市" & intI
        Next intI
    '建立说明行
    '属性MSFlexGrid1.FixedCols可设置或返回固定列总数,缺省为1
        For intI = MSFlexGrid1.FixedCols To MSFlexGrid1.Cols - 1
    '将单元格的宽度增加100twip
            MSFlexGrid1.ColWidth(intI) = MSFlexGrid1.ColWidth(intI) + 100
            MSFlexGrid1.TextArray(intI) = "测试项目" & intI
        Next intI
        MSFlexGrid1.Row = 1     '设定当前行
        MSFlexGrid1.Col = 1     '设定当前列
        Label1 = "城市1:测试项目1"
    End Sub'用户选择编辑单元时,将该单元内容复制到文本框控件
    '然后可以进行编辑
    Private Sub MSFlexGrid1_EnterCell()
    '将当前说明列和当前说明行赋予标签
        Label1 = MSFlexGrid1.TextMatrix(MSFlexGrid1.Row, 0) & ":" _
             & MSFlexGrid1.TextMatrix(0, MSFlexGrid1.Col)
    '将当前单元格内容赋予文本框
        Text1.Text = MSFlexGrid1.Text
        Text1.SetFocus          '文本框取得焦点
    '选中文本框内的全部字符,即将其涂成蓝色
        Text1.SelStart = 0
        Text1.SelLength = Len(Text1.Text)
    End Sub'文本框数据处理,按Enter键结束一个网格数据的录入
    Private Sub Text1_KeyPress(KeyAscii As Integer)
        Dim intRow As Integer, intCol As Integer
        If KeyAscii = 13 Then               '13为Enter键
            MSFlexGrid1.Text = Text1.Text   '文本框数据送入网格
            intRow = MSFlexGrid1.Row + 1    '焦点移到同列的下一个单元
            intCol = MSFlexGrid1.ColSel     '单元格返回当前列
            If intRow = MSFlexGrid1.Rows Then   '如果到了最后一行
                intRow = MSFlexGrid1.FixedCols  'intRow=1,FixedCols的缺省设置
    '如果intCol没有到边界列则取下一列
                If intCol < MSFlexGrid1.Cols - MSFlexGrid1.FixedCols Then _
                    intCol = intCol + 1
            End If
            MSFlexGrid1.Row = intRow        '新的当前行
            MSFlexGrid1.Col = intCol        '新的当前列
            MSFlexGrid1.RowSel = intRow     '为单元格设置的当前行
            Text1.Text = MSFlexGrid1.Text   '单元格数据赋予文本框
            Text1.SetFocus                  '文本框取得焦点
        End If
    End Sub
      

  2.   

    又例:将以下代码全部拷贝到窗体代码中:
    Dim colA As New Collection
    Private Sub Form_Click()
        Dim intI As Integer, intJ As Integer
        Dim vntItem
    '为集合赋网格数据值
        For intI = MSFlexGrid1.FixedRows To MSFlexGrid1.Rows - 1
            colA.Add MSFlexGrid1.TextMatrix(intI, 1), _
                     MSFlexGrid1.TextMatrix(intI, 2)
        Next intI
    '在立即窗口打印赋值结果
        Debug.Print "村庄", "数值"
        For Each vntItem In colA
            intJ = intJ + 1
            Debug.Print "村庄" & intJ, vntItem
        Next
    End SubPrivate Sub Form_Load()
        Dim intI As Integer
    '设定网格的行数和列数
        MSFlexGrid1.Cols = 3            '序号(固定列)+数值+主题词共3列
        MSFlexGrid1.Rows = 11           '固定行+10个村庄共11行
    '建立说明列
    '属性MSFlexGrid1.FixedRows可设置或返回固定行总数,缺省为1
    '属性MSFlexGrid1.TextArray可设置或返回网格文本的内容
        For intI = MSFlexGrid1.FixedRows To MSFlexGrid1.Rows - 1
            MSFlexGrid1.TextArray(MSFlexGrid1.Cols * intI) = intI
        Next intI
    '建立说明行
    '属性MSFlexGrid1.FixedCols可设置或返回固定列总数,缺省为1
        For intI = MSFlexGrid1.FixedCols To MSFlexGrid1.Cols - 1
    '将单元格的宽度增加100twip
            MSFlexGrid1.ColWidth(intI) = MSFlexGrid1.ColWidth(intI) + 100
            MSFlexGrid1.TextArray(intI) = "项目" & intI
        Next intI
        MSFlexGrid1.Row = 1     '设定当前行
        MSFlexGrid1.Col = 1     '设定当前列
        Label1 = "对象1:项目1"
    End Sub'用户选择编辑单元时,将该单元内容复制到文本框控件
    '然后可以进行编辑
    Private Sub MSFlexGrid1_EnterCell()
    '将当前说明列和当前说明行赋予标签
        Label1 = "对象" & MSFlexGrid1.TextMatrix(MSFlexGrid1.Row, 0) _
            & ":" & MSFlexGrid1.TextMatrix(0, MSFlexGrid1.Col)
    '将当前单元格内容赋予文本框
        Text1.Text = MSFlexGrid1.Text
        Text1.SetFocus          '文本框取得焦点
    '选中文本框内的全部字符,即将其涂成蓝色
        Text1.SelStart = 0
        Text1.SelLength = Len(Text1.Text)
    End Sub'文本框数据处理,按Enter键结束一个网格数据的录入
    Private Sub Text1_KeyPress(KeyAscii As Integer)
        Dim intRow As Integer, intCol As Integer
        If KeyAscii = 13 Then               '13为Enter键
            MSFlexGrid1.Text = Text1.Text   '文本框数据送入网格
            intRow = MSFlexGrid1.Row + 1    '焦点移到同列的下一个单元
            intCol = MSFlexGrid1.ColSel     '单元格返回当前列
            If intRow = MSFlexGrid1.Rows Then   '如果到了最后一行
                intRow = MSFlexGrid1.FixedCols  'intRow=1,FixedCols的缺省设置
    '如果intCol没有到边界列则取下一列
                If intCol < MSFlexGrid1.Cols - MSFlexGrid1.FixedCols Then _
                    intCol = intCol + 1
            End If
            MSFlexGrid1.Row = intRow        '新的当前行
            MSFlexGrid1.Col = intCol        '新的当前列
            MSFlexGrid1.RowSel = intRow     '为单元格设置的当前行
            Text1.Text = MSFlexGrid1.Text   '单元格数据赋予文本框
            Text1.SetFocus                  '文本框取得焦点
        End If
    End Sub
      

  3.   

    1:
    行=MSHFlexGrid1.row
    列=MSHFlexGrid1.col
    2:
    所点击行的第二列的值=TextMatrix(MSHFlexGrid1.row, 1) 
    3:
      

  4.   

    到点击当前单元格的行与列的值,
    ///
    msgbox mshflexgrid.row
    msgbox mshflexgrid.col找到所点击行的第二列的值.
    ///
    mshflexgrid.col=1
    msgbox msflexgrid.text让点击当前行底色变色.(方便观看)
    //MSHFlexGrid1.CellBackColor = vbRed
      

  5.   

    with MSHFlexGrid1
    tempcol=.col
    for i=1 to .cols-1
        .col=i
        .CellBackColor=vbred
    next i
    .col=tempcol
      

  6.   

    daisy8675(莫依)的第2题的会改变当前单元格,第3问应为
    with MSHFlexGrid1
    tempcol=.col
    for i=1 to .cols-1
        .col=i
        .CellBackColor=vbred
    next i
    .col=tempcol
    end with
    上面忘了加end with