Zaawansowane filtrowanie tabeli - prośba o pomoc

2 views
Skip to first unread message

WWWojtas

unread,
Jun 23, 2010, 5:15:52 AM6/23/10
to excelandia
Witam,

Borykam się z problemem zaawansowanego filtrowania tabeli z budżetem
firmy. Plik będący wzorem (tabela_do_filtra.xls) wrzuciłem w dziale
Pliki.

O co chodzi.
Firma otrzymuje wynik z księgowości w formie jak na zakładce 'Maj'.
Pojedynczy wiersz to pojedynczy wpis w księgach. Dany koszt jest
przypisywany do danego działu (kolumny D1K, D1P, D1B itd.), dodatkowo
jest mu przypisane subkonto w danym dziale (D1, D2, MARK itd), oraz
może się kolumnie "%" pojawić informacja jaki procent łącznej kwoty
jest przypisywany do tego właśnie działu.

Chodzi o napisania makra/VBA, które pozwoli wyfiltrować dane tej
tabeli do nowej tabeli/pliku, ale tak, aby wynik zawierał on TYLKO
informacje o pozycji w księgach dla danego działu, które są różne od
zera. O jaki dział chodzi - tę informację powinno się podawać na
początku.

Makro powinno skanować tabelę od początku do końca i generować nową
tabelę. Kopiowany powinien być dany wiersz tabeli jeśli spełniony jest
warunek "kwota w dziale który filtrujemy jest różna od zera").
Dodatkowo, makro powinno ucinać na koniec (w trakcie)? wszelkie
informacje o a) kwotach, b) %, c) subkoncie z działów innych niż
filtrowany (pozostają informacje Pozycja w PKPiR, Kwota w PKPiR, Data
zdarzenia gospodarczego, Numer dowodu księgowego, Firma, Opis
zdarzenia gospodarczego).

Załączyłem przykładowy wynik takiego filtrowania dla działu D2 w
drugiej zakładce.

Prośba o pomoc w tym zakresie

Wojtek

Wacio

unread,
Jun 23, 2010, 6:02:09 PM6/23/10
to excelandia
Według mnie to najprościej jest włączyć autofiltr i po sprawie.

WWWojtas

unread,
Jun 24, 2010, 3:20:30 AM6/24/10
to excelandia
On 24 Cze, 00:02, Wacio <wa...@chello.pl> wrote:
> Według mnie to najprościej jest włączyć autofiltr i po sprawie.


Tak, tylko, że tych działów jest więcej niż na przykładzie dla każdego
z nich trzeba wygenerować osobne dane (czyli filtrowanie po kwocie <>0
+ wycięcie innych działów).
Ktoś ma jakiś pomysł aby to zautomatyzować?

w.

Pawel Tarnowski

unread,
Jun 24, 2010, 3:51:32 AM6/24/10
to excel...@googlegroups.com
Rozbić na dwa makra? Pierwsze tworzyłoby nową tabelę
uwzględniając tylko te wiersze, która zawierają jakąkolwiek informację o
konkretnym dziale, drugie działałoby już na nowej tabeli usuwając z tych
wierszy nadmiarowe informacje.


Paweł Tarnowski
Dział Controllingu i Analiz
(22) 355 22 50



BAKALLAND SA
ul. Fabryczna 5
00-446 Warszawa

Nr KRS: 0000253890 Sąd Rejonowy dla m. st. Warszawy
XIV Wydział Gospodarczy KRS
NIP: 521-15-01-724
Kapitał zakładowy: 2 100 000, 00 zł

w.

--
Otrzymujesz tę wiadomość, ponieważ subskrybujesz grupę dyskusyjną Google o
nazwie "excelandia".

Aby zamieszczać posty w tej grupie, wyślij e-mail na adres
excel...@googlegroups.com.
Aby anulować subskrypcję tej grupy, wyślij e-mail na adres
excelandia+...@googlegroups.com.
Aby uzyskać więcej informacji, odwiedź tę grupę pod adresem
http://groups.google.com/group/excelandia?hl=pl.

__________ Informacja programu ESET NOD32 Antivirus, wersja bazy sygnatur
wirusow 5222 (20100623) __________

Wiadomosc zostala sprawdzona przez program ESET NOD32 Antivirus.

http://www.eset.pl lub http://www.eset.com


__________ Informacja programu ESET NOD32 Antivirus, wersja bazy sygnatur
wirusow 5222 (20100623) __________

Wiadomosc zostala sprawdzona przez program ESET NOD32 Antivirus.
http://www.eset.pl lub http://www.eset.com

__________ Informacja programu ESET NOD32 Antivirus, wersja bazy sygnatur
wirusow 5223 (20100623) __________

Wiadomosc zostala sprawdzona przez program ESET NOD32 Antivirus.
http://www.eset.pl lub http://www.eset.com

__________ Informacja programu ESET NOD32 Antivirus, wersja bazy sygnatur
wirusow 5223 (20100623) __________

Wiadomosc zostala sprawdzona przez program ESET NOD32 Antivirus.
http://www.eset.pl lub http://www.eset.com

Cynio

unread,
Jun 24, 2010, 8:23:41 AM6/24/10
to excelandia
wysłałem Ci na priv plik który powinine działać, dla potomnych poniżej
makro, które towrzy nowy arkusz o nazwie działu, który uzytkownik
wpisze w input box oraz kopiuje odpowiednie dane z arkusz maj do
nowego arkusza:

Sub dzial()
dzial = InputBox("Podaj nazwę działu")
Set dane = Worksheets("maj")
Set dane_dzial = Worksheets.Add
dane_dzial.Name = dzial
z = dane.Range("A65536").End(xlUp).Row
w = 2
dane.Range("a1:r2").Copy dane_dzial.Range("a1")
For i = 3 To z

If (dane.Cells(i, 7) = dzial Or dane.Cells(i, 10) = dzial Or
dane.Cells(i, 13) = dzial Or dane.Cells(i, 16) = dzial) _
And (dane.Cells(i, 9) > 0 Or dane.Cells(i, 12) > 0 Or
dane.Cells(i, 15) > 0 Or dane.Cells(i, 18) > 0) Then
w = w + 1
dane.Rows(i).Copy dane_dzial.Cells(w, 1)
End If

Next i
End Sub

--
Pozdr.
Cynio
Reply all
Reply to author
Forward
0 new messages