Excel 无法删除包含旧数据的单元格,以便为新数据让路

Excel 无法删除包含旧数据的单元格,以便为新数据让路,excel,vba,loops,nested,byval,Excel,Vba,Loops,Nested,Byval,在我的工作手册的第2页中,我有员工的姓名,他们开始工作的日期,他们工作的班次,以及缺勤情况。在我的代码表1中,我有一个查找表,我打算将员工的姓名键入单元格,并在查找表中显示所有日期和此人的工作情况,以及轮班和缺勤情况。我尝试了很多方法,但这是我当前的代码: Private Sub worksheet_change(ByVal Target As Range) Dim Lookup As Worksheet Dim Data As Worksheet Dim LastRow

在我的工作手册的第2页中,我有员工的姓名,他们开始工作的日期,他们工作的班次,以及缺勤情况。在我的代码表1中,我有一个查找表,我打算将员工的姓名键入单元格,并在查找表中显示所有日期和此人的工作情况,以及轮班和缺勤情况。我尝试了很多方法,但这是我当前的代码:

Private Sub worksheet_change(ByVal Target As Range)
    Dim Lookup As Worksheet
    Dim Data As Worksheet
    Dim LastRow As Long
    Dim V As Range
  
    Set Lookup = ThisWorkbook.Worksheets("Lookup")
    Set Data = ThisWorkbook.Worksheets("Data")
    Set V = Lookup.Range("A1:A2")
    
    LastRow = Data.Cells(Rows.Count, "A").End(xlUp).Row
    LookupCounter = 2
    
    For i = 2 To LastRow
    
        If Intersect(V, Target) Is Nothing Then
            Lookup.Range("B2:C2000").Delete
        ElseIf Lookup.Range("A2") = Data.Cells(i, 2) Then
                Lookup.Cells(LookupCounter, 2).Value = Data.Cells(i, 1)
                Lookup.Range("B2:B2000").NumberFormat = "mm/dd/yyyy"
                Lookup.Cells(LookupCounter, 3).Value = Data.Cells(i, 9)
                LookupCounter = LookupCounter + 1
            End If
    Next i
        
End Sub
我的目的是在键入新名称时,从查找页面的列中清除信息,并为新名称输入新数据。代码的第二部分,我将名称与日期匹配,但我正在努力使用清除功能。我能做些什么来修复它?

选项显式
私有子工作表_更改(ByVal目标作为范围)
Dim查找作为工作表,数据作为工作表
昏暗的最后一排一样长,了望台一样长,我一样长
使用此工作簿
设置查找=.Worksheets(“查找”)
设置数据=.工作表(“数据”)
以
如果Intersect(Lookup.Range(“A1:A2”),Target)为空,则
出口接头
其他的
“干净的床单
查找范围(“B2:C2000”)。删除
LastRow=Data.Cells(Rows.Count,“A”).End(xlUp).Row
查找计数器=2
“获取数据
对于i=2到最后一行
如果Data.Cells(i,2)=Lookup.Range(“A2”),则
Lookup.Cells(LookupCounter,2).Value=Data.Cells(i,1)
Lookup.Cells(LookupCounter,3).Value=Data.Cells(i,9)
LookupCounter=LookupCounter+1
如果结束
下一个
Lookup.Range(“B2:B2000”).NumberFormat=“mm/dd/yyyy”
如果结束
端接头

这台机器非常好用,谢谢!因此,请将此答案标记为好答案;)它会帮助别人