Mam tabelę, w której ktoś inny wkleja nowe dane do cotygodniowego. Dane wklejane co tydzień będą zmieniać rozmiar według wierszy, ale nie kolumn. Zautomatyzowałem ten proces do momentu, w którym trzymam pierwszy wiersz, aby formuły nie zostały usunięte. Wszystko to odbywa się za pomocą przycisku, do którego przypisałem kod. Teraz muszę usunąć pozostałe wiersze tabeli. Oto kod, który mam do tej pory, który działa:
Sub ShrinkTable()
Range("RDNPPD[[#Headers],[Follow Up by Corp Security]]").Select
ActiveSheet.ListObjects("RDNPPD").ListRows(ActiveCell.Row -
1).Range.Select
Range(Selection, Selection.End(xlDown)).Select
End Sub
Sub DeleteRows()
Selection.ListObject.ListRows(2).Delete
Selection.ListObject.ListRows(2).Delete
Selection.ListObject.ListRows(2).Delete
Range("RDNPPD[[#Headers],[Follow Up by Corp Security]]").Select
End Sub
RE: Sub DeleteRows () - Nagrałem makro i pierwszy wiersz kodu powtarza się dla tylu wierszy w tabeli, które zostaną usunięte, które zmieniają się przy każdym użyciu, więc nie będą działać. Pierwszy wiersz do usunięcia zawsze pozostanie taki sam: wiersz 5. Jest to ostatni wiersz, który kod musi uwzględnić jako dynamiczny.
Jak usunąć zaznaczenie dla środowiska dynamicznego? Wielkie dzięki!
Odpowiedzi:
To powiela to, co robi Twoje nagranie - usuń ostatni wiersz tabeli, aż pozostanie tylko jeden wiersz
Wyłącza się
ScreenUpdating
iCalculation
przyspiesza; na końcu włącza je z powrotemPrzed
Po
.
Table
(ListObject
) strukturaźródło