сравните два столбца на двух разных листах

#excel #vba #excel-formula

#excel #vba #excel-формула

Вопрос:

я хотел бы сравнить два столбца на двух разных листах, например, столбец A на листе 1 начинается со строки 2 до последней строки, а столбцы C начинаются со строки 2 до последней строки. Если строка в столбце A больше, чем та же строка в столбце C, появится окно сообщения «значение больше» и очистите большее значение в столбце A. Заранее спасибо за вашу поддержку

Комментарии:

1. Это можно сделать, используя чистые формулы Excel. Подробности см. в IF-функции. В конечном итоге на листе 3 может оказаться один столбец с результатом сравнения, и могут быть еще два столбца с данными или пустыми ячейками в зависимости от столбца сравнения.

Ответ №1:

Это должно помочь вам начать

 Sub compare()

Dim sheet1 As Worksheet
Dim sheet2 As Worksheet
Set sheet1 = ThisWorkbook.Sheets("Sheet1")
Set sheet2 = ThisWorkbook.Sheets("Sheet2")

Dim lastrow As Integer
lastrow = sheet1.Range("A2").End(xlDown).Row

Dim i As Integer
For i = 2 To lastrow

    If sheet1.Range("A" amp; i).Value > sheet2.Range("A" amp; i).Value Then

        MsgBox ("the value is greater")
        sheet1.Range("A" amp; i).Value = ""

    End If

Next i

End Sub
 

Ответ №2:

Удалить больше, чем

 Option Explicit

Sub deleteGreaterThan()
    
    Dim wb As Workbook
    Dim src As Worksheet
    Dim dst As Worksheet
    Dim LastRow As Long
    Dim i As Long
    
    Set wb = ThisWorkbook
    Set dst = wb.Worksheets("Sheet1")
    Set src = wb.Worksheets("Sheet2")
    LastRow = dst.Cells(dst.Rows.Count, "A").End(xlUp).Row
    
    For i = 2 To LastRow
        If dst.Cells(i, "A").Value > src.Cells(i, "C").Value Then
            MsgBox "The value in cell '" amp; dst.Cells(i, "A").Address(0, 0) _
              amp; "' is greater."
            dst.Cells(i, "A").Value = ""
        End If
    
    Next i

End Sub