vsflexgrid 上移、下移行的代码

vsflexgrid 上移、下移行的代码
2010-07-03 20:55


Private Sub btndown_Click()
On Error Resume Next
        Dim i As Long
        Dim first_row_selected As Long
        Dim last_row_selected As Long
        Dim last_row_not_selected As Long
       
        Dim begin_value As String
        Dim end_value As String
       
        Dim old_value As String
        Dim new_value As String
       
        With Me.fg
            For i = 0 To .SelectedRows - 1
                '最后一个选择行
                last_row_selected = .SelectedRow(i)
            Next
            For i = .SelectedRows - 1 To 0 Step -1
                '第一个选择行
                first_row_selected = .SelectedRow(i)
            Next
            If last_row_selected < .Rows - 1 Then
                '下面未选择的行
                last_row_not_selected = last_row_selected + 1
                '开始值
                begin_value = .TextMatrix(first_row_selected, 1)
                '结束值
                end_value = .TextMatrix(last_row_not_selected, 1)
               
                Debug.Print begin_value
                Debug.Print end_value
                '倒序更新
                For i = last_row_selected To first_row_selected Step -1
                    old_value = .TextMatrix(i, 1)
                    new_value = .TextMatrix(i + 1, 1)
                    .TextMatrix(i + 1, 1) = old_value
                Next
                '重新选择行
                .Select first_row_selected + 1, 1, last_row_selected + 1, 2
               
                .TextMatrix(first_row_selected, 1) = end_value
            End If
        End With
End Sub

Private Sub btnup_Click()
On Error Resume Next
        Dim i As Long
        Dim first_row_selected As Long
        Dim last_row_selected As Long
        '选择区域上方的第一个未选择行
        Dim first_row_not_selected As Long
       
        Dim end_value As String
       
        Dim old_value As String
       
        With Me.fg
            For i = 0 To .SelectedRows - 1
                '最后一个选择行
                last_row_selected = .SelectedRow(i)
            Next
            For i = .SelectedRows - 1 To 0 Step -1
                '第一个选择行
                first_row_selected = .SelectedRow(i)
            Next
            If first_row_selected > 1 Then
                '上面未选择的行
                first_row_not_selected = first_row_selected - 1
               
                '结束值
                end_value = .TextMatrix(first_row_not_selected, 1)
               
                Debug.Print end_value
                '倒序更新
                For i = first_row_selected To last_row_selected
                    old_value = .TextMatrix(i, 1)
                    .TextMatrix(i - 1, 1) = old_value
                Next
                '重新选择行
                .Select first_row_selected - 1, 1, last_row_selected - 1, 2
               
                For i = 0 To .SelectedRows - 1
                    '最后一个选择行
                    last_row_selected = .SelectedRow(i)
                Next
                .TextMatrix(last_row_selected + 1, 1) = end_value
            End If
        End With
End Sub

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值