logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

EXCEL VBA - Makro tworzące arkusze i nadające im nazwę według wierszy ?

MajkelOSW 03 Sie 2019 12:12 2490 6
REKLAMA
  • #1 18094739
    MajkelOSW
    Poziom 7  
    Posty: 25
    Ocena: 1
    Witam,

    Potrzebuje makra, które na podstawie istniejącego arkusza(pliku excel) np. zestawienie, stworzy mi arkusze w innym pliku(Formatka z przyciskiem makro odwołująca się do "zestawienia")
    1.Arkusze te mają mieć nazwy tak jak w kolumnie "nazwa". Czyli według załączonego obrazka ma być 9 arkuszy (wartość ta będzie się zmieniać). (Np. raz będzie 9 raz 100)
    2.Druga sprawa to wartości z "zestawienia" będą wpisywane do stale określonych kolumn i wierszy w formatce.
    EXCEL VBA - Makro tworzące arkusze i nadające im nazwę według wierszy ?
    Przykładowo w arkuszu1 o nazwie 1001 wypisze wartości do określonych pól (przyklad1 =opis, 1=nr, cena=10, nazwa=1001)
    Poproszę o wskazówki i ewentualne nakierowania, która metoda będzie najlepsza i czy takie funkcjonalności da się połączyć ??

    Pozdrawiam
  • REKLAMA
  • Pomocny post
    #2 18097944
    Prot
    Poziom 38  
    Posty: 2580
    Pomógł: 574
    Ocena: 297
    Jeśli dobrze "odczytałem" Twoje rysunki i opisy :crazyeyes:
    to efekt taki jak na zrzucie :spoko:
    EXCEL VBA - Makro tworzące arkusze i nadające im nazwę według wierszy ?powiel.PNG (21.43 kB)Musisz być zalogowany, aby pobrać ten załącznik.
    można uzyskać poprzez makro powiel w załączonym pliku
    Protpow...zip (14.97 kB)Musisz być zalogowany, aby pobrać ten załącznik.
    Jeśli będziesz chciał mieć plik "wielokrotnego" użytku :please: to każdorazowo musisz go "odświeżyć" poprzez oczyszczenie makrem Usun :!: z poprzednich arkuszy (bo nie może być 2 arkuszy o tej samej nazwie :!: )
  • REKLAMA
  • #3 18105442
    MajkelOSW
    Poziom 7  
    Posty: 25
    Ocena: 1
    Witam,
    dzięki wielkie Prot! Dokładnie o ten mechanizm mi chodziło, trochę sobie go zmodyfikowałem, ale założenia spełnia bardzo dobrze.
    W sumie mam jeszcze jedną zagwostkę.

    EXCEL VBA - Makro tworzące arkusze i nadające im nazwę według wierszy ?

    1. Chciałbym aby wygenerowane arkusze z makra powiel zapisały się każde osobno.
    Nie wiem czy akurat w tym przypadku ten mechanizm się sprawdzi. Mam makro, które zapisuje mi arkusze do PDF, tylko muszę za każdym razem potwierdzić zapisanie lub nie. Chciałbym to zautomatyzować tak jak w makro powiel.
    2. Jak zmienić ten plik, aby tak samo zapisywało tylko w formacie .xlsx?
    Chciałbym mieć dwa katalogi, w jednym arkusze .xlsx do edycji, a w drugim pdf.
    Będę wdzięczny za pomoc lub nakierowanie.
  • REKLAMA
  • #4 18106001
    Prot
    Poziom 38  
    Posty: 2580
    Pomógł: 574
    Ocena: 297
    MajkelOSW napisał:
    aby tak samo zapisywało tylko w formacie .xlsx?

    Jeśli chcesz archiwizować swoje oferty także w pliku Excela :?:
    To proponuję w tym samym katalogu co makro zrobić jeden plik xlsx - "archiwum" (w poniższym kodzie zastosowano nazwę - Kopie wysłanych.xlsx- pusty plik o takiej nazwie musi być uprzednio utworzony :!: ) gdzie przechowywać będziesz poszczególne oferty w odrębnych arkuszach :idea:

    Zrób w arkuszu "Oferta PDF" drugi przycisk "do zapisu", który uruchamiał będzie takie makro :spoko:
    Kod: VBScript
    Zaloguj się, aby zobaczyć kod
  • REKLAMA
  • #5 18123645
    MajkelOSW
    Poziom 7  
    Posty: 25
    Ocena: 1
    Witam ponownie,
    Nie bardzo rozumiem, albo chyba coś robię źle.
    1)Mam dwa arkusze zest(arkusz1), temp(arkusz2).
    2)Utworzyłem trzy przyciski w arkuszu zest(arkusz1) Generuj, usuń, zapisz.
    3) Mechanizm1: Generuje sobie arkusze o odpowiednich nazwach, według przykładu od 1001 do 1009 i teraz np. chcę zapisać każdy ten arkusz osobno w katalogu (np.C:\Users\Michal\Desktop\Zestawienia) każdy jako osobny plik .xlsx w sumie 9 plików. Następnie, jeżeli już mam zapisane, to usuwam makrem "usuń" i generuje kolejną inną grupę (makro powiel i usuń działają, natomiast mam problem z zapisem)
    4) Mechanizm2: robie dokładnie to co wyżej, tylko chciałbym, aby mi już wygenerowane arkusze zapisało do jednego pliku zbiorczego pdf.
    (np. dodam kolejny przycisk utwórz PDF).

    Chciałbym to wszystko razem połączyć, dlatego szukam formuł dla tego przykładu,aby zrozumieć mechanizmy działania. Będę wdzięczny za pomoc.
  • #6 18124548
    Prot
    Poziom 38  
    Posty: 2580
    Pomógł: 574
    Ocena: 297
    MajkelOSW napisał:
    Nie bardzo rozumiem,

    Ja też nie rozumiem :cry: do czego Ty zmierzasz :cunning:
    Rozpocząłeś od prośby o pomoc w stworzeniu makra do sporządzania archiwum danych w postaci plików PDF, potem rozszerzyłeś swoje oczekiwania na kopie w formacie xlsx :?:
    Zaproponowałem rozwiązanie z jednym plikiem xlsm - do którego wprowadzasz odpowiedni zestaw danych - na podstawie którego tworzone są automatycznie kopie PDF, oraz kopie archiwalne w postaci arkuszy specjalnego pliku xlsx

    Twoje obecnie zmienione założenia :cunning: :
    MajkelOSW napisał:
    każdy jako osobny plik .xlsx w sumie 9 plików. Następnie, jeżeli już mam zapisane, to usuwam makrem "usuń" i generuje kolejną inną grupę

    MajkelOSW napisał:
    aby mi już wygenerowane arkusze zapisało do jednego pliku zbiorczego pdf

    wymagają jakiegoś sensownego uzasadnienia do podejmowania takich utrudnionych rozwiązań.
  • #7 18124830
    adamas_nt
    VIP Zasłużony dla elektroda
    Posty: 5320
    Pomógł: 1508
    Ocena: 659
    Zgadzam się ze zdaniem kolegi Prot. Po jakimś czasie uzbiera się tych kopii tyle, że zrobi się bałagan.
    Wg mnie, kopię takiego zestawienia można zmieścić w jednym wierszu arkusza (jednej linijce pliku tekstowego). Do podglądu/wydruku archiwów wystarczy odwrócić makro zapisu + jakaś zgrabna wyszukiwarka/filter. Jeśli z jakiegoś powodu będzie potrzebny PDF, również można go sobie utworzyć z kopii. Po co to wszystko z osobna przechowywać?

Podsumowanie tematu

✨ Użytkownik poszukuje makra w VBA, które na podstawie danych z arkusza "zestawienie" generuje nowe arkusze w innym pliku, nadając im nazwy zgodne z wartościami w kolumnie "nazwa". W odpowiedziach zasugerowano użycie makra do powielania arkuszy oraz automatyzację zapisu tych arkuszy jako osobne pliki .xlsx i PDF. Użytkownik chciałby również zautomatyzować proces zapisu, aby uniknąć ręcznego potwierdzania. W dyskusji poruszono również kwestie archiwizacji danych oraz organizacji plików, sugerując, że lepiej jest przechowywać dane w jednym pliku z odpowiednimi filtrami, zamiast tworzyć wiele osobnych plików.
Podsumowanie AI na podstawie dyskusji. Może zawierać błędy.
REKLAMA