У меня есть мастер-лист со всеми моими данными. Я с уважением "украл" следующий код, чтобы скопировать все строки, содержащие определенную текстовую строку во втором столбце, на другой лист.
For Each r In Src.Range("B2:B" & LastRow)
If r.Value = "1. Early Season Visits" Then
If CopyRange Is Nothing Then
Set CopyRange = r.EntireRow
Else
Set CopyRange = Union(CopyRange, r.EntireRow)
End If
End If
Next r
If Not CopyRange Is Nothing Then
CopyRange.Copy Dst.Range("A1")
End If
End Sub
Приведенное выше форматирование испортилось, но вы должны понять. Это сработало, как рекламировалось после того, как я внес коррективы в свой конкретный случай. Он даже пытался перенести правила условного форматирования - хотя мне пришлось вносить незначительные корректировки во все эти, чтобы получить его правильно, потому что Excel сделал некоторую бессмысленную ссылку.
Проблемы с вышеупомянутым:
- Результаты статичны. Если я внесу изменения в основной лист, они не будут обновлены на листе, где выполняется этот код. Есть лучший / другой способ сделать это, который обновляет все листы.
- Я ожидаю, что если я обновлю вручную, запустив код снова, это снова испортит условное форматирование - что не является незначительным исправлением.
Итак, есть ли лучший способ сделать то, что я хочу сделать? Если так, то, что это?