Temat: Automatyczne uzupełnianie danych z jednego arkusza do...
Opcja 1: Utwórz tabelę przestawną dla każdego kontrahenta - dane zaznacz w "A", ale w "Wybierz, gdzie chcesz umieścić raport tabeli przestawnej" wybierz "istniejący arkusz" i kliknij komórkę w odpowiednim arkuszu klienta. Powtórz dla pozostałych.
* Gdy zmienisz dane w "A", to tabela w "B" zaktualizuje się po wybraniu "Odśwież".
Opcja2: W "B" "podlinkuj" dane z "A" przez użycie "=" i ustaw "odpowiedni zwykły filtr lda każdego klienta, czyli np w "B":
='[A.xlsx]Dane'!A1
Opcja 3: Możesz pokombinować z importem danych, o ile "A" jest w jakimś ".csv" np.
Opcja 4 (
najlepsza):
Zakładamy, że mamy dwa pliki o nazwach "A.xlsx" i "B.xlsm".
"A" zawiera arkusz "Dane", który zbudowany jest tak:
0 A B C
1 kontrahent faktura kwota
2 Alfa 58/2013 150,00 zł
3 Beta 159 100,00 zł
4 Gamma 158A 120,00 zł
... ... ... ...
8 Alfa 98/2013 200,00 zł
... ... ... ...
"B" zawiera arkusz "Alfa" (etc), który zbudowany jest tak:
0 A B C D
1 faktura kwota kontrahent
2 Alfa
3
W arkuszu "Alfa" wstaw przycisk z przypisanym następującym makro:
Sub AktualizujDaneOfv()
Workbooks("A.xlsx").Sheets("dane").Columns("A:C").AdvancedFilter _
Action:=xlFilterCopy, CriteriaRange:=Range("Alfa!$D$1:$D$2"), CopyToRange _
:=Range("Alfa!$A$1:$B$1"), Unique:=False
End Sub
Klikając w ten przycisk dane zostaną uzupełnione o to co doszło w "B".
Analogicznie trzeba wykonać dla pozostałych klientów lub "AktualizujDaneOfv" przerobić tak aby wykonywała tę samą czynność dla wszystkich klientów jednocześnie - co mając gotowy przykład powinno być już bardzo proste.