Zamknięty przez: OShon 2012-02-09, 09:54 |
Zmienna jako kryterium w autofiltrze |
| Autor |
Wiadomość |
free25
świeżak

Posty: 2
|
Wysłany: 2012-01-15, 12:46 Zmienna jako kryterium w autofiltrze
|
|
|
Cześć
czy jest możliwość podpięcia zmiennej do autofiltra w Excelu? Nie mogę tego obejść. Zerowanie filtra makrem nie stanowi problemu i działa. Natomiast próba poniższego kodu nie działa -znikają wszystkie wiersze tzn. pokazuje, że brak jest danych odpowiadających założeniu.
| Kod: | podaj = InputBox("Podaj datę w formacie - RRRR-MM-DD", "Filtr", Date)
If podaj <> "" Then Selection.AutoFilter Field:=9, Criteria1:=podaj |
Wybór np. 2011-01-15 bezpośrednio przez wybór kryterium na filtrze w Excelu pokazuje dobry wynik, uruchomienie ze zmienną przez makro = zbiór pusty.
Da się to zrobić, ew. czy jest jakaś alternatywa?
Pozdrawiam
free25 |
|
 | ID posta:
144528
|
|
|
 |
|
EXCELFORUM.pl POLECA - Bezplatne triki prosto na skrzynke email
|
master_mix
Excel Expert


Pomógł: 977 razy Posty: 1615
|
Wysłany: 2012-01-15, 13:03
|
|
|
| Kod: | If IsDate(podaj) Then Selection.AutoFilter Field:=1, Criteria1:=CDate(podaj)
|
|
_________________ ******************************************
Podejmę współpracę (pracę) w zakresie tworzenia aplikacji arkusza kalkulacyjnego z wykorzystaniem VBA.
Wrocław i okolice …lub zdalnie.
****************************************** |
|
 | ID posta:
144530
|
|
|
 |
|
EXCELFORUM.pl POLECA - Bezplatne triki prosto na skrzynke email
|
OShon
Excel Expert


Zaproszone osoby: 41
Pomógł: 620 razy Posty: 2037
|
|
 | ID posta:
144552
|
|
|
 |
free25
świeżak

Posty: 2
|
Wysłany: 2012-01-16, 19:26
|
|
|
master_mix - dzięki, ale konwersje testowałem wcześniej. Nie działają w moim przypadku.
OShon - przystosowałem Twój przykład do moich założeń i sprawdza się 100%.
Dzięki, do zamknięcia :) |
|
 | ID posta:
144717
|
|
|
 |
|
EXCELFORUM.pl POLECA - Bezplatne triki prosto na skrzynke email
|
Nazarenus
słuchacz

Posty: 13
|
Wysłany: 2012-02-08, 13:41
|
|
|
Cze wszystkim!
Sprawdzam, próbuję i nic... Widać cienki jestem, dlatego potrzebuję pomocy: u mnie to nie działa! Potrzebuję przeszukać kolumnę z datami i wszystkie daty starsze niż dzisiejsza zaznaczyć (docelowo wydrukować zaznaczenie).
Przykład OShon'a jakoś się u mnie nie sprawdził - pewnie z mojej winy...
Dodam, że daty te są poukładane kolejno od najstarszej.
Pozdrawiam! |
|
 | ID posta:
147879
|
|
|
 |
OShon
Excel Expert


Zaproszone osoby: 41
Pomógł: 620 razy Posty: 2037
|
|
 | ID posta:
147889
|
|
|
 |
|
EXCELFORUM.pl POLECA - Bezplatne triki prosto na skrzynke email
|
Nazarenus
słuchacz

Posty: 13
|
Wysłany: 2012-02-08, 17:09
|
|
|
Jasne!
Załączam arkusz, bardzo prosty (zawiera tylko dwie kolumny). Chodzi jeszcze raz o to, żeby uruchomiony kod zaznaczył w kolumnie b i c tylko te komórki, które mają datę inna (starszą) niż obecna.
Temp.zip
|
Pobierz Plik ściągnięto 7 raz(y) 11.85 KB |
|
|
 | ID posta:
147917
|
|
|
 |
OShon
Excel Expert


Zaproszone osoby: 41
Pomógł: 620 razy Posty: 2037
|
Wysłany: 2012-02-08, 23:16
|
|
|
Zaznaczył czym:
- kolorem
- wypełnieniem
- pogrubieniem
- kursorem
załóżmy że kolorem
| Kod: | Sub zaznacz()
Dim x&, max_row&, data As Date
max_row = Cells(Rows.Count, "c").End(xlUp).Row
For x = 3 To max_row
data = Cells(x, "c").Value
If data > Format(Now, "YYYY-MM-DD") Then
Range(Cells(x, "b"), Cells(x, "c")).Font.Bold = True
Else
'na wypadek zmiany dat względem zaznacznia
Range(Cells(x, "b"), Cells(x, "c")).Font.Bold = False
End If
Next x
End Sub |
jednakże to samo można uzyskać prościej, po przez formulę i formatowanie warunkowe:
XL_Formatowanie_warunkowe_starsze_niż_teraz.png
|
 |
| Plik ściągnięto 4 raz(y) 36.36 KB |
|
_________________ MVP Office System, moderator Outlook.pl|WSS.pl|CodeGuru.pl, praca: Business Developer, blog: VBATools |
|
 | ID posta:
147962
|
|
|
 |
|
EXCELFORUM.pl POLECA - Bezplatne triki prosto na skrzynke email
|
Nazarenus
słuchacz

Posty: 13
|
Wysłany: 2012-02-09, 08:27
|
|
|
Myślałem o czymś takim:
data = InputBox("Podaj datę w formacie: RRRR/MM, np 2012/01", "DATA")
wpisuję datę (lub nawet zakres dat) po czym kod zaznacza komórki - kolumna z "lp." i kolumna z datą. Po tym zaznaczeniu wystarczy np.:
ActiveWindow.SelectedSheets.PrintOut Copies:=2, Collate:=True, IgnorePrintAreas:=False
Czy chciałbym osiągnąć coś w rodzaju raportu dla określonego miesiąca drukowanego spośród dat zawierających się w kilku miesiącach.
Pozdrawiam! |
|
 | ID posta:
147972
|
|
|
 |
OShon
Excel Expert


Zaproszone osoby: 41
Pomógł: 620 razy Posty: 2037
|
Wysłany: 2012-02-09, 09:53
|
|
|
Nazarenus , nie zauważyłem tego wcześniej ale wcięłeś się z tym problemem w sprawkę kogoś innego (czego nie tolerujemy) ponieważ nasze odpowiedzi na inny temat może nie interesować osobę, która założyła posta.
Druga sprawa to nie reprezentatywny załącznik co do oczekiwać.
Twoja ostatnia wypowiedź nijak się ma do załącznika.
Temat zamykam - założysz nowy, ale wcześniej zastanowisz się nad jego sformułowaniem - inaczej warn. |
_________________ MVP Office System, moderator Outlook.pl|WSS.pl|CodeGuru.pl, praca: Business Developer, blog: VBATools |
|
 | ID posta:
147983
|
|
|
 |
|
EXCELFORUM.pl POLECA - Bezplatne triki prosto na skrzynke email
|
|
|