Telefonszámunk: 1-472-0679

Change esemény

Kezdőlap Fórumok Excel programozás Change esemény

5 bejegyzés megtekintése - 1-5 / 5
  • Szerző
    Bejegyzés
  • #3871
    Johneeb
    Felhasználó

      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ános

      #3872
      delila
      Felhasználó

        Szia!

        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,
        Kati

        #3873
        Johneeb
        Felhasználó

          Szia! 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

          #3874
          delila
          Felhasználó

            Add meg az e-mail címedet.

            #3875
            Johneeb
            Felhasználó
            5 bejegyzés megtekintése - 1-5 / 5
            • Be kell jelentkezni a hozzászóláshoz.