#vba
#vba
Вопрос:
Я пытаюсь выбрать набор строк под ячейкой с текстом «Город», скопировать и вставить их в разные столбцы. Как только слово «City» найдено, скопируйте все следующие строки, пока не будет найдено слово Bird_type, скопируйте и вставьте строки и повторите шаги для всех городов в столбце A, примерно так
Я попытался закодировать его в VBA, но я получаю только первую найденную строку:
Sub test()
Dim city_find As String
Dim result As Integer
result = 2
Dim i As Integer
a = Worksheets("sheet1").Cells(Rows.Count, 1).End(xlUp).Row
For i = 2 To a
If Worksheets("sheet1").Cells(i, 1).Value = "city" Then
Range(Cells(i 1, 1), Cells(i 1, 6)).Copy
Range("E100").End(xlUp).Offset(1, 0).PasteSpecial xlPasteFormulasAndNumberFormats
result = result 1
End If
Next i
End Sub
Как я могу сделать?
Ответ №1:
Я буду использовать VBA .Find()
:
Sub Calc()
Dim s As Range, e As Range, nS As String
Set s = ActiveSheet.UsedRange.Find("City")
If Not s Is Nothing Then
Set e = ActiveSheet.UsedRange.Find("City",s)
If Not e Is Nothing Then
Range(s,e).EntireRow.Copy
End If
End If
Range("E100").End(xlUp).Offset(1, 0).PasteSpecial xlPasteFormulasAndNumberFormats
End Sub