Поиск столбца по значению, если найдена вставленная строка, перенесенная на другой лист
Я пытаюсь создать макрос VBA, который будет:
- искать в столбце определенное значение (которое пользователь вводит в ячейку / диалоговое окно)
- Если найдено, вставьте строку (начиная с определенного столбца), перенесенную на другой лист.
Моя проблема / вопрос может быть несколько экземпляров моего поискового значения, мне нужно найти первый экземпляр и вставить, как описано выше, затем продолжить цикл и вставить строку 2-го экземпляра поискового значения рядом с 1-й вставкой и так далее для всех экземпляры значения.
Кажется, это должен быть простой цикл FOR, но у меня возникли трудности
1 ответ
Если у вас есть рабочая книга с 2 листами: лист1, лист2 и ячейка / диалоговое окно в диапазоне В1, вы можете попробовать следующую подпункт
Код
Option Explicit
Public Sub find_move()
Dim i As Integer
Dim i1 As Integer
Dim start As Integer
Dim count_ As Long
Dim col As Range
Set col = Sheet1.Range("A1")
start = 1
count_ = Sheet1.Range("A1").CurrentRegion.Rows.Count
For i = start To count_
If Sheet1.Cells(i, 1) = Sheet1.Range("B1") Then
i1 = i
Sheet1.Activate
Sheet1.Range(Cells(i1, 1), Cells(count_, 1)).Select
Selection.Copy
Sheet2.Activate
Sheet2.Paste
start = i
ActiveCell.Offset(0, 1).Activate
End If
Next
End Sub