Dziękuję z góry za pomoc
Pozdrawiam
Łukasz
Przychodzą mi do głowy:
1. rozwiązanie manualne: w oddzielnym arkuszu połączyć oba zbiory wartości
klucza z łączonych arkuszy, odsiać duplikaty i VLOOKUPem dobrać do nich
pozostałe kolumny z arkuszy źródłowych posortowanych po kluczu. Opcjonalnie
obsłużyć komunikaty błędów dla kluczy występujących tylko w jednym arkuszu,
jeśli przeszkadzają. Opcjonalnie utrwalić formuły przez Copy > Paste
Special/Values, bo jeśli danych jest dużo, po każdej zmianie arkusz może się
długo przeliczać.
rozwiązania powtarzalne:
2. w całości makrem
lub
3. Przez ADO (sam nie próbowałem):
If the worksheets are in the same workbook I would recommend using ADO
programming to self connect to the workbook, pump the data you need into a
recordset via your outer join sql, and then dump the recordset to a new
sheet.
http://blogs.msdn.com/frice/archive/2004/07/09/178563.aspx
Bądź ambitny i idź w trzecie, byłoby komu wrzucić na grupę pełny krokowy
opis :)
Obawiam sie, ze mu sie to nie uda (przynajmniej bez makr do Excela 2003)...
probowalem to recznie zrobic - trzeba uzyc do tego Microsoft Query, rozbilem
sie o komende FULL JOIN - nie przyjmuje... tylko LEFT OUTER...
To rozwiazanie ma jeszcze jeden mankament (moze sie myle, ale na moje oko
tak jest)... mianowicie on bierze do wyliczen ostatnia zapisana wersje
excela, takze jesli dane zmieniaja sie w tabelach, to poprzez query nic z
tego nie bedzie, dopoki nie zapisze zmian...
Pozdrawiam
Michal
Nigdy nie testowalem tego mechanizmu, ale wydaje mi sie, ze moglby sie tu
sprawdzic mechanizm tabel przestawnych z laczeniem danych.
W kreatorze tabel przestawnych zaznacz opcje "Wiele zakresow konsolidacji" a
nastepnie wskaz oba arkusze....
Jesli to nie pomoze, to zostanie tworzenie makra, ewentualnie metody
manualne, takie, jak opisywal kolega.
Pozdrawiam
Michal
Może unią: http://support.microsoft.com/kb/136699
> To rozwiazanie ma jeszcze jeden mankament (moze sie myle, ale na moje oko
> tak jest)... mianowicie on bierze do wyliczen ostatnia zapisana wersje
> excela, takze jesli dane zmieniaja sie w tabelach, to poprzez query nic z
> tego nie bedzie, dopoki nie zapisze zmian...
Jeśli dobrze Cię rozumiem, to pewnie wystarczy dodać na początku krok
zapisujący arkusz i ew. ostrzeżenie o tym fakcie z opcją przerwania
operacji - i można się tym nie martwić... no ale Ameryki tu nie odkrywam.
Przynaje sie - bylem leniwy i nie zapytalem kolegi googla :)
Ale dzieki za linka - jednak okazalo sie, ze mialem troche racji :)
Generalnie UNION mozemy zastosowac, tylko wypadaloby wrzucic liste pol, zeby
bylo ladnie :)
>> To rozwiazanie ma jeszcze jeden mankament (moze sie myle, ale na moje oko
>> tak jest)... mianowicie on bierze do wyliczen ostatnia zapisana wersje
>> excela, takze jesli dane zmieniaja sie w tabelach, to poprzez query nic z
>> tego nie bedzie, dopoki nie zapisze zmian...
>
> Jeśli dobrze Cię rozumiem, to pewnie wystarczy dodać na początku krok
> zapisujący arkusz i ew. ostrzeżenie o tym fakcie z opcją przerwania
> operacji - i można się tym nie martwić... no ale Ameryki tu nie odkrywam.
>
Ale tego juz bez VBA nie zrobisz... De facto wystarczy pamietac...
... LT... daj znac, ktora opcja ci sie podoba, jak bedziesz mial problemy,
to wspolnymi silami damy rade :)
Pozdrawiam
Michal