Kezdőlap › Fórumok › Excel programozás › Change esemény
- This topic has 4 hozzászólás, 2 résztvevő, and was last updated 7 years, 2 months telt el by Johneeb.
-
SzerzőBejegyzés
-
2017-09-20-07:48 #3871
Szép napot kívánok! Segítségre lenne szükségem. Van egy bonyolult feladat amivel nem jutok előbbre. Részmegoldásaim vannak, de sajnos ez kevés.
Az lenne a feladatom, hogy az első munkafüzet első 20 cellájába (a1-a20)írt adatok a 2. Munkafüzet a1-a20 celláig megjelenjen. Ez megy ezzen nincs problémám. Amivel a baj van, hogy ha kitörlöm az 1 munkafuzetbe írt adatokat, és újakat írok be, akkor az ne törlődjön a 2.munkafüzet a1-a20 celláiból, hanem folytatólagosan kezdődjön a21-a végtelenségig. Illetve ha akarom, akkor bármikor új munkafüzetbe göngyölítse tovább, valamint 1 gombnyomásra az 1. Munkafüzetbe írt adatok törlődjenek.
Annyit sikerült megtudnom, hogy ezt makrozással érhetem el, és a change eseményt kell figyelni állítani. Az a baj, hogy nem tudok visual basic nyelven programozni, és nem tudok elégséges szinten angolul. Kerestem egy csomó videóban a youtube-n de sajnos hiába. A kérdésem az lenne, hogy tudnak e nekem segíteni. Válaszukat előre is köszönöm!
Barta János2017-09-20-08:16 #3872Szia!
A leírásodból úgy tűnik, hogy nem 2 füzetről, hanem 1 füzetben lévő 2 lapról van szó.
Nem tenném Change eseménybe, mert akkor minden beírásnál lefut a laphoz rendelt makró. Inkább egy modulba másolnám a lenti makrót, amit pl. úgy indíthatsz, hogy az F8 funkcióbillentyű hatására megjelenő ablakban kiválasztod a Masolas nevűt, vagy kiteszel a Munka1 lapra egy gombot, amihez hozzá rendeled (jobb klikk) a makrót.Bemásolás: Alt+F11-gyel belépsz a VB szerkesztőbe. Bal oldalon kiválasztod a füzetedet, majd Insert menü, Module. A jobb oldalon kapott nagy fehér felületre másolsz.
Sub Masolas() Dim usor As Integer, sorIde As Long sorIde = Sheets("Munka2").Range("A" & Rows.Count).End(xlUp).Row If sorIde > 1 Then sorIde = sorIde + 1 Sheets("Munka1").Select Range("A1:A" & Range("A" & Rows.Count).End(xlUp).Row).Copy Sheets("Munka2").Range("A" & sorIde) End Sub
Indítás előtt írd át a Munka1 és Munka2 lapneveket minden előfordulásuknál a saját lapjaid nevére. Ez a makró a Munka1-ről másol a Munka2-re.
Üdv,
Kati2017-09-20-11:33 #3873Szia! Köszi a segítséget, sajnos ebben a kerdesben amit feltettem nagyon kezdő vagyok, esetleg telefonos elérhetőséget kaphatok? Úgy sokkal egyszerűbb lenne elmagyarazni a problémám. Köszi
2017-09-20-11:42 #3874Add meg az e-mail címedet.
2017-09-20-11:50 #3875 -
SzerzőBejegyzés
- Be kell jelentkezni a hozzászóláshoz.