chiguanxin 2012-07-05 16:02
浏览 322
已采纳

Excel 宏

求高手做个Excel宏,让我的锁定的excel模版可以插入行而且插入的行不是锁定的,另外教下我怎么样在java poi代码中加载这个宏,谢谢!求高手指导啊

  • 写回答

1条回答 默认 最新

  • wayne_ren 2012-07-05 17:15
    关注

    不是在 [url=http://www.iteye.com/problems/85628]http://www.iteye.com/problems/85628[/url]已经提问过了吗。

    Excel macro不提供插入行的事件,只能通过其他方法实现。这里给你提供一个实现方法,前提是你的数据只能在1000行以内。

    [quote]
    Public lngPreviousRow As Long
    Public lngCurrentRow As Long

    Private Sub Worksheet_Change(ByVal Target As Range)

    If Not CheckName("rngLastRow") Then
        ActiveWorkbook.Names.Add Name:="rngLastRow", RefersToR1C1:="=Sheet1!R1001C1"
    End If
    
    lngCurrentRow = Me.Range("rngLastRow").Row
    
    If lngCurrentRow < lngPreviousRow Then
        MsgBox "Row deleted"
    ElseIf lngCurrentRow > lngPreviousRow Then
        MsgBox "Row inserted"
        For i = 1 To 256
            Target.Locked = False
        Next i
    End If
    
    lngPreviousRow = lngCurrentRow
    

    End Sub

    Private Function CheckName(ByVal Name As String) As Boolean
    Dim rRangeCheck As Range

    On Error Resume Next

    Set rRangeCheck = Range(Name)
    

    On Error GoTo 0

    If rRangeCheck Is Nothing Then
        CheckName = False
    Else
        CheckName = True
    End If
    

    End Function
    [/quote]

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?