#excel #excel-2010 #vba
#Excel #Excel-2010 #vba
Вопрос:
Я пытаюсь получить макрос для вырезания и вставки определенных строк из листа ASR в лист LS, когда столбец I равен LS.
Sub MoveLS()
Dim i As Variant
Dim endrow As Integer
endrow = Sheets("ASR").Range("A" amp; Rows.Count).End(xlUp).Row
For i = 2 To endrow
If Cells(i, "I").Value = "LS" Then
Cells(i, "I").EntireRow.Cut Destination:=Sheets("LS").Range("A" amp; Rows.Count).End(xlUp).Offset(1)
End If
Next
End Sub
Я смотрел на различные варианты этого кода и выключался в течение последних 8 часов и не могу понять, что не работает. Любые советы приветствуются!
Ответ №1:
Это потому, что вы не объявили свои листы. Попробуйте следующий код:
Sub MoveLS()
Dim i As Variant
Dim endrow As Integer
Dim ASR As Worksheet, LS As Worksheet
Set ASR = ActiveWorkbook.Sheets("ASR")
Set LS = ActiveWorkbook.Sheets("LS")
endrow = ASR.Range("A" amp; ASR.Rows.Count).End(xlUp).Row
For i = 2 To endrow
If ASR.Cells(i, "I").Value = "LS" Then
ASR.Cells(i, "I").EntireRow.Cut Destination:=LS.Range("A" amp; LS.Rows.Count).End(xlUp).Offset(1)
End If
Next
End Sub
Комментарии:
1. Отлично! Большое вам спасибо!