首页 > 解决方案 > Excel - Visual Basic - 从另一个工作表上的数据中对工作表上的数据进行排序

问题描述

我正在使用 Visual Basic,并最终从另一个与我正在尝试的问题类似的问题中复制代码,但它最终无法正常工作。由于我是 VB 的新手,所以我无法弄清楚。我有 2 个看起来完全相同的表,其中 1 个表有更多信息。我想要做的是从带有额外信息的表格中获取信息,应填写通话日期和之后的列。我想要做的是使用已在更新表上填写的线索 ID,将它们与原始数据表进行核对。如果更新后的表线索 ID 中的数据与原始数据表中的数据匹配,我希望在该行中删除原始数据表中的数据。我更新了代码,但现在我遇到了一个全新的错误。

原始数据表

这是我找到并正在使用的代码

   Sub SheetUpdateTool()
    Dim dataSheet As Worksheet, updateSheet As Worksheet
    Dim valueSearch As Integer
    Dim tt As Integer, mm As Integer
    Dim dataTable As ListObject, updateTable As ListObject
    
    
    Set dataSheet = Worksheets("Raw Data")
    Set updateSheet = Worksheets("Updated")
    'x = dataSheet.Cells(Rows.Count, 1).End(x1Up).Row
    'MsgBox (x)
    'lastRowLookUp = dataSheet.Cells(Rows.Count, "A").End(x1Up).Row
    'updateLastRow = updateSheet.Cells(Rows.Count, "A").End(x1Up).Row
    'dataTable = dataSheet.ListObjects("Raw_Data")
    'updateTable = updateSheet.ListObjects("Updated_Data")
    
    For tt = 1 To updateSheet.ListObjects("Updated_Data").Range.Rows.Count
        valueToSearch = updateSheet.ListObjects("Updated_Data").DataBodyRange(tt, "A").Value
        For mm = 1 To dataSheet.ListObjects("Raw_Data").Range.Rows.Count
            If dataSheet.ListObjects("Raw_Data").DataBodyRange(mm, "A").Value = valueToSearch Then
                dataSheet.ListObjects("Raw_Data").ListRows(mm).Delete
                'MsgBox ("Deleted")
                Exit For
            End If
        Next mm
    Next tt
    
End Sub

标签: excelvba

解决方案


推荐阅读