Я пишу макрос для поиска 3 значений в 3 столбцах на одном листе.Я довольно новичок в VBA и мне нужна помощь, пожалуйста.У меня есть 3 значения на листе «Данные» в столбцах C, D и E, которые мне нужно найти на листе «Первый» в столбцах C, D и E. Столбец C отсортирован в числовом порядке.
Пока у меня есть код, который находит значение C1 на листе «Данные», в столбце C на листе «Первый».Затем он копирует данные первой строки на листе «Данные» и вставляет их под активную ячейку, найденную в столбце C на листе «Первый».Если значение не найдено на листе «Первый», код вставляет строку внизу данных на листе «Первый».Проблема в том, что мой код находит первое вхождение C1 на листе «First» и вставляет строку из листа «Data» под активной ячейкой, но затем D1 и E1 не в числовом порядке.
Эточто у меня есть:
Sub Blank1()
Dim c As Range
Dim Source As Worksheet
Dim Target As Worksheet
Set Source = ThisWorkbook.Worksheets("Data")
Set Target = ThisWorkbook.Worksheets("first")
Set c = Source.Range("C1")
Set c = Target.Range("C:C").Find(what:=c.Value, LookIn:=xlFormulas,
LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext,
MatchCase:=False, SearchFormat:=False)
Sheets("Data").Select
Range("C1").Select
If Not c Is Nothing Then
c = ActiveCell.Value
Sheets("first").Select
Columns("C:C").Select
Selection.Find(what:=c, After:=ActiveCell, LookIn:=xlFormulas, _
LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False).Activate
ActiveCell.Select
Else
Sheets("first").Select
Range("B1").Select
Range("B1").End(xlDown).Offset(1, 0).Select
Selection.End(xlToLeft).Offset(0, 0).Select
End If
Sheets("Data").Select
Rows("1:1").Select
Selection.Cut
Sheets("first").Select
ActiveCell.Offset(1).EntireRow.Insert Shift:=xlShiftDown,
CopyOrigin:=xlFormatFromLeftOrAbove
ActiveCell.EntireRow.Copy
ActiveCell.Offset(1).EntireRow.PasteSpecial xlPasteFormats
Application.CutCopyMode = False
Sheets("Data").Select
Selection.Delete Shift:=xlUp
Range("C1").Select
End Sub
Я ожидаю, что числовые значения будут вставлены в «Первый» лист.Я также хочу, чтобы он просматривал все значения в столбце C на рабочем листе «Данные».