Wątek przeniesiony 2021-09-16 10:10 z Inne języki programowania przez cerrato.

VBA - eksport z Access do Excel

0

Witam!

Mam kłopot z eksportowaniem danych z tabeli MS Access do Excela w nowszej wersji (.xlsx) przy pomocy kodu VBA. Otóż interesuje mnie przepisanie wszystkich danych z tabeli do odpowiedniej zakładki arkusza kalkulacyjnego od zadanej komórki (A2). Udało mi się znaleźć następujący kod:

 DoCmd.TransferSpreadsheet (acExport), acSpreadsheetTypeExcel9, "tabelaWyjsciowa", sciezkaDoPliku, True, miejsceDocelowe

pod zmienną miejsceDocelowe można wpisać nazwę zakładki Excela i tam dane zostaną zapisane - i to wszystko działa. Kłopot natomiast jest taki, że chciałbym rozpocząć pisanie od komórki A2, a nie A1. W przypadku starszej wersji plików Excel (.xls) należy wpisać:

"NazwaZakladki$A2:K500" ':K500 - opcjonalnie

Niestety coś takiego nie działa dla wersji .xlsx Czy może któryś z użytkowników miał podobny kłopot i wie jak go rozwiązać? Ewentualnie zna jakiś alternatywny sposób exportowania danych do konkretnych komórek istniejącego pliku Excel?

P.S. Zapisywanie przy pomocy obiektu Recordset mnie nie zadowala, ponieważ mam do przepisania średnio 5003 komórki danych, co sprawia, że wykonanie takiego algorytmu trwa ok. 3 minuty.

0

W zasadzie to nie mam pojęcia dlaczego to co napisałem powyżej wcześniej nie działało, w każdym razie teraz mi działa. Być może ma to związek z tym, że skorzystałem z narzędzia "kompaktuj i napraw bazę danych". W ten sam sposób można zaimportować zawartość Excela do Accessa zmieniając parametr acExport na acImport. Podaję, bo może ktoś będzie miał podobny problem w przyszłości. Temat do zamknięcia.

0

Witam, mam teraz podobny problem, w sensie, że chciałbym wyeksportować dane z Access 2002 do xlsx. Tylko tyle, mógłby Pan pomóc?

0

Pomógł to bym i chętnie, ale w 2012 roku to było moje pierwsze spotkanie z VBA i póki co ostatnie, więc jeżeli to co napisałem wcześniej nie jest jasne, to niestety chyba nic więcej z siebie nie wycisnę :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1