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/

válasz