Temat: Makra i Visual Basic
Tomasz K.:
Kazde nazwisko posiada swoj wlasny unikatowy numer.
Chcialbym aby VBA automatycznie:
1. Utworzyl arkusze z nazwami zgodnymi z numerem pracownika (podanym w obszarze A2:A20).
2. Nastepnie do nowo utworzonych arkuszy skopiowany zostal arkusz "WZOR".
Nie mam pod ręką Excela, więc nie napisze gotowca, ale proponuję, żeby całość sprowadzić do jednego kroku - mianowicie skopiowania arkusza wzór do nowego pliku (to, co się robi klikając PPM na zakładce) i zmiana jego nazwy. Włącz nagrywaczkę i nagraj właśnie taki krok, a potem zajrzyj do tego kodu i oblecz to w pętlę:
For each c in range("A2:A20")
'tutaj to co nagrałeś
next c
No i oczywiście warto ten kod trochę uczesać. Wyczyścić konstrukcje typu cośtam.select, selection.cośtam, a nazwę nowego pliku napisać nie na sztywno, a przez c.value.
Zwróć tylko uwagę, że po takim kroku skończysz z aktywnym nowym arkuszem, a musisz wrócić do starego. Do tego jest Window("tutaj nazwa pliku").Activate. Podejrzewam, że dałoby się też zamiast przełączać okienka, wpisać na sztywno w kodzie z którego okna co ma się wyciągać (np. zamiast ActiveSheet, byłoby Window("nazwapliku").Sheet("nazwazakładki")), ale nie dam głowy.
Niestety Excela dostanę do ręki dopiero w poniedziałek, więc więcej nie pomogę. Jak Ci się uda wg moich wskazówek to świetnie, jak nie to albo kto inny Ci pomoże, albo wrócimy do tematu w poniedziałek.