#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