Помогите, пожалуйста, зациклить выполнение макроса.
Написал небольшой макрос по поиску повторяющихся данных в книге:
[vba]
Код
Sub test()
Dim findcell As Variant
Set ws1 = ThisWorkbook.Worksheets("Лист1") Set ws2 = ThisWorkbook.Worksheets("Лист2") Set findcell = ws1.Range("A2")
With ws2.Range("A1:A500") Set c = .Find(findcell.Value, LookIn:=xlValues) If Not c Is Nothing Then firstAddress = c.Address Do b = c.Offset(0, 2).Value
Select Case b Case "111" findcell.Offset(0, 2).Value = b Case "222" findcell.Offset(0, 3).Value = b Case "333" findcell.Offset(0, 4).Value = b Case "444" findcell.Offset(0, 5).Value = b Case "555" findcell.Offset(0, 6).Value = b Case "666" findcell.Offset(0, 8).Value = b Case "777" findcell.Offset(0, 9).Value = b Case "888" findcell.Offset(0, 10).Value = b Case "999" findcell.Offset(0, 11).Value = b Case "101010" findcell.Offset(0, 12).Value = b Case "111111" findcell.Offset(0, 13).Value = b Case "121212" findcell.Offset(0, 14).Value = b End Select
Set c = .FindNext(c) If c Is Nothing Then GoTo DoneFinding End If Loop While Not c Is Nothing And c.Address <> firstAddress End If DoneFinding: End With End Sub
[/vba]
Данный код работает с ячейкой "А2" листа "Лист1", которая определена в переменной [vba]
Код
findcell
[/vba]
Но на практике необходимо, чтобы скрипт работал с ячейками столбца "А" поочередно, т.е., чтобы скрипт применился к ячейке "А2", потом "А3", "А4" и т.д.
Примерно понимаю, что тут необходимо применить цикл, но составленный мною цикл не работает( Помогите, пожалуйста. Подскажите, куда необходимо смотреть, чтобы зациклить данный скрипт?)
Спасибо!
Доброго дня!
Помогите, пожалуйста, зациклить выполнение макроса.
Написал небольшой макрос по поиску повторяющихся данных в книге:
[vba]
Код
Sub test()
Dim findcell As Variant
Set ws1 = ThisWorkbook.Worksheets("Лист1") Set ws2 = ThisWorkbook.Worksheets("Лист2") Set findcell = ws1.Range("A2")
With ws2.Range("A1:A500") Set c = .Find(findcell.Value, LookIn:=xlValues) If Not c Is Nothing Then firstAddress = c.Address Do b = c.Offset(0, 2).Value
Select Case b Case "111" findcell.Offset(0, 2).Value = b Case "222" findcell.Offset(0, 3).Value = b Case "333" findcell.Offset(0, 4).Value = b Case "444" findcell.Offset(0, 5).Value = b Case "555" findcell.Offset(0, 6).Value = b Case "666" findcell.Offset(0, 8).Value = b Case "777" findcell.Offset(0, 9).Value = b Case "888" findcell.Offset(0, 10).Value = b Case "999" findcell.Offset(0, 11).Value = b Case "101010" findcell.Offset(0, 12).Value = b Case "111111" findcell.Offset(0, 13).Value = b Case "121212" findcell.Offset(0, 14).Value = b End Select
Set c = .FindNext(c) If c Is Nothing Then GoTo DoneFinding End If Loop While Not c Is Nothing And c.Address <> firstAddress End If DoneFinding: End With End Sub
[/vba]
Данный код работает с ячейкой "А2" листа "Лист1", которая определена в переменной [vba]
Код
findcell
[/vba]
Но на практике необходимо, чтобы скрипт работал с ячейками столбца "А" поочередно, т.е., чтобы скрипт применился к ячейке "А2", потом "А3", "А4" и т.д.
Примерно понимаю, что тут необходимо применить цикл, но составленный мною цикл не работает( Помогите, пожалуйста. Подскажите, куда необходимо смотреть, чтобы зациклить данный скрипт?)