Sziasztok!
Adott egy Excel fájl (tantárgyfelosztás), kb. 49 Munkalappal, amelyek
közül 46 felépítése megegyezik (osztályonkénti TTF), továbbá egy
munkalap a sablon, amelyekből másolva lett a többi, egy munkalap pedig
az adatokat tartalmazza, továbbá egy statisztikai adatokat tartalmazó
munkalap.
A 46 azonos felépítésű munkalapot kellene egymás után másolni egy új
munkalapra ( a neve legyen: TTF).
Mivel folyamatosan változik a 46 munkalap tartalma, az egyenkénti
másolgatást kihagynám. Ezért jó lenne egy VBA szkript (makró), ami
automatikusan, létrehozza a TTF munkalapot, vagy a létező TTF munkalap
tartalmát törli és elvégezné a szükséges munkalapok egyesítését.
Az azonos munkalapokon az első sor a fejlécsor
(Osztály;Csoport;Tantárgy;Heti óraszám;Tanár neve; stb)
A 46 munkalap elnevezésében nincs logika, de a munkalapok neve nem
változik, ezért a másolandó munkalapok nevei is elhelyezhetők az adatok
munkalap egy tartományában pl ('adatok'!K2:K47).
Kb az alábbi "kódot" kellene VBA szkriptben megcsinálnom, de életemben
nem programoztam Visual Basic-ben.
munkalapok = Array( 'adatok'!K2:K47 );
A TTF munkalap létrehozása, ha nem létezik
A TTF munkalap tartalmának törlése, ha létezik, de nem üres
for (i = 0; i < count(munkalapok); i++ ) {
A munkalapok[i] munkalap (a 2. sortól) hozzáfűzése a TTF munkalaphoz.
(természetesen csak azok a sorok, amelyek tartalmaznak adatot)
}
Kiindulásnak találtam is egy VBA szkriptet, ami majdnem azt csinálja,
ami nekem kell, de mivel egyáltalán nem ismerem a Visula Basic-et, ezért
nagyon nem boldogulok vele.
https://prog.hu/tudastar/181718/excel-munkalapok-osszemasolasa
Ha valaki tudna segíteni átalakítani a linken elérhető valamelyik VBA
szkriptet, hogy azt csinálja, amire szükségem van, azt nagyon megköszönném.
Veres Sándor
_______________________________________________
Techinfo mailing list
[email protected]
Fel- és leiratkozás: http://lista.sulinet.hu/mailman/listinfo/techinfo
Illemtan: http://www.szag.hu/illemtan.html
Ügyfélszolgálat FAQ: http://sulinet.niif.hu/