Jak powinien wyglądać prosty, ale i wydajny kod VBA, który do pliku głównego (*.xlsm) będzie kopiować ten sam zakres danych (liczby) z różnych plików o tej samej strukturze danych ale, różnej nazwie. Nazwy plików (bez rozszerzeń) byłyby pobierane z wybranej kolumny pliku głównego (od A3:A50) - następnie 13 liczb pobieranych z każdego docelowego pliku miałoby być skopiowane do zakresu B3:N3).
Próbowałem to robić otwierając każdy plik, zaznaczając zakres i kopiując do pliku głównego. Niestety, nie było to doskonale i po otwarciu kilku plików pojawiały się błędy. Nie wklejam kodu, bo jego analiza mogłaby być dłuższa niż propozycja. :)
Dodatkowe parametry:
- Pliki są w tym samym katalogu.
- W plikach nie ma zmian, mogą być tylko do odczytu.
- Każdy plik to XYZ.xlsm - gdzie XYZ to kolejna nazwa wybierana przez kod.
- Każda z 13 liczb musi być sprawdzona, czy jest liczbą. Jeśli nie jest - wstawiany jest opis N/A do komórki docelowej w pliku głównym.
- Lista nazw plików (w rzeczywistości kod produktu - o stałej długości znaków), może być w zakresie A3:A50, jak również może się powiększać. Kod powinien uwzględniać ostatni zapisany rekord w tej kolumnie.
- Na końcu kodu - plik główny powinien być zapisany.
Dziękuję za wszelkie sugestie.
Pozdrawiam Tomek.