Elektroda.pl
Elektroda.pl
X
Elektroda.pl
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

VBA Makro kopiowanie do nowego pliku i zmiana nazwy pliku automatycznie

22 Lis 2020 21:03 60 4
  • Poziom 2  
    Cześć. Bardzo proszę o pomoc. Mam plik excel w którym jest 150 arkuszy o nazwach liczbowych odpowiednio 1, 2, 3... 150.
    W każdym jednym arkuszu chciałbym aby było makro które kopiuje konkretne dane do nowego pliku (zawsze te same od S6:V6). Plik excel z makrami jest "matrycą" która co miesiąc powstaje nowa (służy do rozliczania zleceń) i zmienia się jej nazwa. Proszę Was o wsparcie w przerobieniu poniższego kodu, tak aby:
    1. Kopiował dane od S6:V6 z arkusza 1, 2... 150 do pliku "Status formy" i arkusza "Import" i wklejał wartości w pierwsze wolne od A2. Cześć tych danych jest formułą a część wybierana jest listy. Mi zależy aby wklejone były wartości.
    2. Idealnie gdyby wysyłać makro przyciskiem, czyli wybieram dane z listy i klikając w przycisk "wyślij dane" wysyłam je do pliku Status formy.
    2. Dobrze gdyby plik "Status formy" mógłby być zamknięty, ale nie jest to najważniejsze.
    3. Czy makro powinno być napisane w każdym arkuszu? To znaczy odpowiednio w 1, 2... 150?
    4. Plik jest matrycą i jest co miesiąc kopiowane w inne miejsce i zmienia nazwę - czy można automatycznie pobierać nazwę pliku w kodzie, tak aby nie trzeba było robić tego w makrach ze 150 arkuszy co miesiąc?
    Kod: vbscript
    Zaloguj się, aby zobaczyć kod

    Bardzo proszę o pomoc.
  • Poziom 36  
    Twój opis kolego nie jest jasny :cry:
    Przygotuj dwa przykładowe pliki: jeden źródłowy (arkuszy nie więcej jak 3 :D ) i drugi docelowy :!: z przykładowym układem wszystkich danych.
    Może przy tym przygotowaniu jeszcze raz przemyśl całą procedurę tworzenia tych plików na każdy miesiąc :idea:
    Pliki te po spakowaniu do zip zamieść na forum :!:
  • Poziom 2  
    Jasne. Spakowane pliki w załączeniu.
    Plik musi niestety zmieniać nazwę, bo jest tworzony nowy co miesiąc. Jeśli ją zmienię czy kod może się automatycznie uaktualniać?
    Nazwy arkuszy i układ są bez zmian we wszystkich plikach Zlecenie prac na formie wtryskowej matryca.
    Dziękuję!
  • Poziom 23  
    Jak musi to musi. Na to są co najmniej 2 sposoby:
    1. Nazwa się zmienia w sposób przewidywalny, np. dodanie daty w odpowiednim formacie,
    2. Jest niezmienna część nazwy, która jednoznacznie identyfikuje plik.
    W obu przypadkach bez problemu powinno się udać określić nazwę pliku, albo ją sobie wygenerować, albo odczytać funkcją Dir.
  • Poziom 36  
    Niestety w dalszym ciągu nie wszystko jest jasne i logiczne :cry: (np jeśli w arkuszu Import masz 1048576 wierszy to powinno Ci starczyć na jakieś 582 lat wypełniania :D - chcesz zmienić nazwę pliku na drugie milenium :?: ).
    Samo kopiowanie wartości z tego zakresu możesz zrealizować np takim kodem:
    Kod: vbscript
    Zaloguj się, aby zobaczyć kod


    Kod uruchamiany winien być najlepiej jakimś skrótem klawiszy :idea: (a nie żadnym przyciskiem, czy przyciskami). :cunning:
    Jak widać w kodzie wykorzystany jest układ 4 arkuszy początkowych i od 5 arkusza zaczynają się arkusze z danymi.