Excel Forum - Porady, Pomoc,  Excel Help, Excel FAQ Strona Główna
 FAQ  RegulaminRegulamin  Szukaj   Użytkownicy   Grupy   Rejestracja   Profil   Twoje wiadomości   Zaloguj 


Poprzedni temat «» Następny temat
ID tematu: 76128 Skopiuj do schowka Skrócenie kodu w makrze
Autor Wiadomość
salvado
Exceloholic


Wersja: Win Office 2019
Posty: 224
Wysłany: 28-09-2024, 10:28   Skrócenie kodu w makrze

witajcie,
intuicja podpowiada mi, że taki działający kod:
Kod:

ActiveSheet.Range("$B$2:$O$252").AutoFilter Field:=1
ActiveSheet.Range("$B$2:$O$252").AutoFilter Field:=4
ActiveSheet.Range("$B$2:$O$252").AutoFilter Field:=5
ActiveSheet.Range("$B$2:$O$252").AutoFilter Field:=6
ActiveSheet.Range("$B$2:$O$252").AutoFilter Field:=7
ActiveSheet.Range("$B$2:$O$252").AutoFilter Field:=8
ActiveSheet.Range("$B$2:$O$252").AutoFilter Field:=9
ActiveSheet.Range("$B$2:$O$252").AutoFilter Field:=10
ActiveSheet.Range("$B$2:$O$252").AutoFilter Field:=11
ActiveSheet.Range("$B$2:$O$252").AutoFilter Field:=12
ActiveSheet.Range("$B$2:$O$252").AutoFilter Field:=13
ActiveSheet.Range("$B$2:$O$252").AutoFilter Field:=14

można zastąpić jedną linią. Próbowałem z przecinkami, średnikami i innymi znakami, ale nie wychodzi.
Podpowiecie jak, jeśli w ogóle?
ID posta: 437093 Skopiuj do schowka
 
 
Maciej Gonet 
Excel Expert


Wersja: Win Office 365
Pomógł: 3596 razy
Posty: 10587
Wysłany: 28-09-2024, 11:26   

Można zrobić tak:
Kod:
ActiveSheet.Range("$B$2:$O$252").AutoFilter _ Field:=Array(1,4,5,6,7,8,9,10,11,12,13,14)
albo pętlą:
Kod:
Dim i As Long
ActiveSheet.Range("$B$2:$O$252").AutoFilter Field:=1
For i = 4 To 14
    ActiveSheet.Range("$B$2:$O$252").AutoFilter Field:=i
Next i
ID posta: 437094 Skopiuj do schowka
 
 
salvado
Exceloholic


Wersja: Win Office 2019
Posty: 224
Wysłany: 28-09-2024, 11:54   

dzięki - pomógł pomysł nr 2. Pierwszy - nie wiem dlaczego - generuje Syntax Error.
ID posta: 437095 Skopiuj do schowka
 
 
Maciej Gonet 
Excel Expert


Wersja: Win Office 365
Pomógł: 3596 razy
Posty: 10587
Wysłany: 28-09-2024, 12:36   

Jakby był załącznik, to można by sprawdzić.
U mnie działało, ale sprawdzałem na mniejszej liczbie kolumn.
To jest jedna linia kodu podzielona podkreśleniem na dwie. Możesz to też uruchamiać w jednej linii.
ID posta: 437096 Skopiuj do schowka
 
 
Tajan


Pomógł: 5591 razy
Posty: 12114
Wysłany: 28-09-2024, 15:52   

Jeżeli zadaniem makra jest reset wszystkich wyborów filtra to można użyć:
Kod:
ActiveSheet.Autofilter.ShowAllData
ID posta: 437098 Skopiuj do schowka
 
 
salvado
Exceloholic


Wersja: Win Office 2019
Posty: 224
Wysłany: 01-10-2024, 14:54   

Tajan,
tak, chodzi o usunięcie filtrowania w całym arkuszu. Dziękuję za kod.
ID posta: 437129 Skopiuj do schowka
 
 
Wyświetl posty z ostatnich:   
Odpowiedz do tematu
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Nie możesz załączać plików na tym forum
Możesz ściągać załączniki na tym forum
Dodaj temat do Ulubionych
Wersja do druku

Skocz do:  

Powered by phpBB modified by Przemo © 2003 phpBB Group
Theme xandgreen created by spleen& Programosy modified v0.3 by warna
Opieka techniczna www.wip.pl

Archiwum

Strona uĹźywa plikĂłw cookies.

Kliknij tutaj, żeby dowiedzieć się jaki jest cel używania cookies oraz jak zmienić ustawienia cookie w przegl�darce.
Korzystając ze strony użytkownik wyraża zgodę na używanie plików cookies, zgodnie z bieżącymi ustawieniami przeglądarki.
SprawdĹş, w jaki sposĂłb przetwarzamy dane osobowe