代码在不正确的其他列上运行

时间:2019-03-14 16:51:15

标签: excel vba

我有一个可以在目标列上完美运行的代码。但是,问题是当有人插入新列时,代码无法识别出由于插入的列而导致该列已移动。

代码运行时,它将在错误的列上运行。

即使插入了新列,有人可以帮助我如何确保代码在所需列上运行。

请参见以下代码:

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim Oldvalue As String
    Dim Newvalue As String

    On Error GoTo Exitsub

    If Target.Column = 24 And Target.Row > 4 And Target.Row < 500 Then
        If Target.SpecialCells(xlCellTypeAllValidation) Is Nothing Then
        GoTo Exitsub
        Else: If Target.Value = "" Then GoTo Exitsub Else
            Application.EnableEvents = False
            Newvalue = Target.Value
            Application.Undo
            Oldvalue = Target.Value
            If Oldvalue = "" Then
                Target.Value = Newvalue
            Else
                Target.Value = Oldvalue & ", " & Newvalue
            End If
        End If
    End If

    Application.EnableEvents = True

Exitsub:
    Application.EnableEvents = True
End Sub

这是可以完美运行的代码,但是如果插入了新列,则在错误的列上。

0 个答案:

没有答案