Telefonszámunk: 1-472-0679

cellák, sorok üritése dátum alapján

Kezdőlap Fórumok Excel programozás cellák, sorok üritése dátum alapján

28 bejegyzés megtekintése - 1-28 / 28
  • Szerző
    Bejegyzés
  • #4623
    Potus
    Felhasználó

      Sziasztok!
      Van egy táblázatom amiben közelgő események vannak feltüntetve dátum szerint. A már lejárt eseményeket szeretném automatikusan és folyamatosan törölni egy program vagy esetleg függvény segítségével. Ebben szeretnék segítséget kérni.
      A kékre színezett adatok egy másik főoldalon jelennek meg.
      A táblázat adatai egy a főoldalon felugró ablak „ürlapjának” kitöltése után kerülnek a táblázat következő üres sorába. Szeretnék határt szabni a táblázat nagyságának ezért a már lejárt adatokat törölni szeretném.
      De most jut eszembe, hogy ez egy másik problémát vet fel. Gondolom mivel az első sorok adatai törlödni fognak előbb utóbb azokba is írni kellene. Vagy van olyan lehetőég is, hogy a törölt adatok helyére ugrik a következő sor és így mindig a végén lesznek üres sorok????

      Köszönöm a segítséget! Potus

      Attachments:
      You must be logged in to view attached files.
      #4625
      delila
      Felhasználó

        Szia!

        A leírásodból nem derült ki, hogy melyik oszlopok adatait akarod töröltetni. Úgy gondolom, hogy a B:I tartományban lévőket.
        Célszerű a füzet megnyitásakor eltüntetni a lejárt idejű bejegyzéseket, ezért az Open eseménybe érdemes betenni, a ThisWorkbook laphoz kell rendelni a makrót.

        Private Sub Workbook_Open()
            Dim sor As Long, usor As Long
            
            sor = 5
            Do While Cells(sor, 2) <> ""
                If Cells(sor, 2) < Date Then
                    Range("B" & sor & ":I" & sor + 1).Delete Shift:=xlUp
                Else
                    sor = sor + 2
                End If
            Loop
        End Sub

        A Do-Loop ciklussal megyünk végig a B oszlop dátumain, az 5. sortól kezdve.
        A Shift:=xlUp határozza meg a törlés irányát. Ha volt törlés, az alatta lévő adatok a törölt sor helyére ugranak fel, nem változtatjuk a sor változó értékét, ha nem volt, növeljük a sor értékét kettővel.
        A ciklus addig fut, míg a B oszlopban talál adatot.

        #4626
        Potus
        Felhasználó

          Szia Delila!

          Köszönöm az újabb segítséget.
          Kiprobáltam a makrót. Remekül működik. Hogyan is lenne máskép… 🙂 Mellékelem az eredményt.
          Az megoldható, hogy a feladat elvégzése után megtartsa az eredeti formátumot, színezést? Valamint, még az is kérdés, hogyan alakul a program, ha mindezt egy több munkafüzetből (fülböl) álló file egyik fülén kellene futtatni?

          Előre is köszönöm a további fáradozást!

          Üdvözlettel: Potus

          Attachments:
          You must be logged in to view attached files.
          #4628
          delila
          Felhasználó

            Itt az újabb makró:

            Private Sub Workbook_Open()
                Dim sor As Long, usor As Long
                
                sor = 5
                
                With Sheets("Munka1")   'ide a saját lapod nevét írd a Munka1 helyett
                    'lejárt időpontok adatainak törlése
                    Do While .Cells(sor, 2) <> ""
                        If .Cells(sor, 2) < Date Then
                            .Range("B" & sor & ":I" & sor + 1).Delete Shift:=xlUp
                        Else
                            sor = sor + 2
                        End If
                    Loop
                    
                    'formátum másolása
                    If .Cells(5, 2) > "" Then
                        .Range("B5:I6").Copy
                        .Range("B7:I49").PasteSpecial xlPasteFormats
                        Application.CutCopyMode = False
                    End If
                End With
            End Sub
            #4631
            Potus
            Felhasználó

              Szia!

              Tökéletesen működik a makró, mindaddig amig van mit másolnia, amig van olyan dátumu bejegyzés ami >= mint az aktuális dátum. Ha nincs ilyen bejegyzés akkor persze, mert nincs mit másolnia, csak a nagy feketeség van. Megoldás lenne esetleg ha valahol távolabb lenne egy üres formázott sor amit ilyenkor – ill. mindig – másolhatna?

              Üdv Potus

              Attachments:
              You must be logged in to view attached files.
              #4633
              Potus
              Felhasználó

                amikor nincs adat….

                Attachments:
                You must be logged in to view attached files.
                #4635
                Potus
                Felhasználó

                  a távoli formázott sor másolás úgy tűnik nem megoldás

                  Attachments:
                  You must be logged in to view attached files.
                  #4637
                  delila
                  Felhasználó

                    Igazad van, ez a kézenfekvő megoldás nem jutott eszembe.

                    A feltétel (If .Cells(5, 2) > „” Then) sem kell, elég ez:

                            .Range("CH3:CO4").Copy
                            .Range("B7:I28").PasteSpecial xlPasteFormats
                            Application.CutCopyMode = False

                    Figyeld meg, hogy a másolandó formátumba a CH4:CO4 tartományt is be kell venni, hogy az alacsony sorok fekete háttere is másolódjon.

                    #4638
                    Potus
                    Felhasználó

                      ezt miért csinálja??? 🙁

                      Attachments:
                      You must be logged in to view attached files.
                      #4640
                      Titok
                      Felhasználó

                        #HIV! hibát ad neked a képlet. Azt is be kellene írni törlés után.
                        Ha az a baj, hogy jönnek felfelé a fehér cellák, akkor a feketeséget a 90. sorig mindig formázd le.

                        #4641
                        Potus
                        Felhasználó

                          Hello Titok!

                          Jajj, igen értem, értem…. A „folyamatos” törlés miatt előbb utóbb elfogynak a fekete sorok. Úgy kellett volna kezdeni az oldalt, hogy az egész fekete.
                          Köszönöm mindenkinek a segítséget!

                          Pacsi! Potus

                          #4681
                          Potus
                          Felhasználó

                            Szia Delila!

                            Ominózus naptárprojectem nap mint nap újabb kihívások elé állít. Ami nem baj, talán így a szép és szórakoztató. De így „időnként” segítségre is szorulok.
                            A fenti kódot kissé átírva és egy másik userform-ra alkalmazva picit megakadtam.
                            Ha jól figyeltem meg jelen esetben – az átírt formátummal- olyan sort is töröl amit még nem kellene. Bár most így utólag belegondolva azért lehet, mert el kellene tolni a dátum keresést egy oszloppal c helyett d -re. N jó, ezt most már értem, ez rendben…. 🙂
                            De ellentétben a fenti kóddal amikor is nem voltak képletek a táblázatban így elég volt egy szimpla formátum másolás , most viszont vannak képletek a törölt sorokban ill. nem azokban hanem a törölt sorokra hivatkozó képletek vannak a fentebbi sorokban. De azt sem értem, hogy ha a törölt sor helyére kerül egy másik ugyan olyan formátumú sor akkor a képlet miért veszti el a hívatkozását. Bár gondolom az idő játszik közre, nem ? Nem lehetne ezt valahogy kiküszöbölni, mert ha mindig újra kell írni képletet a lényegét veszti az egész project. 🙂
                            Közben arra is rájöttem, hogy a két multi akcióját egymás alá, felváltva kellene kiírni.
                            Azt hiszem ennyi probléma elég is egyszerre…
                            Mellékelek a leírtakhoz néhány file-t is. Az átírt kódot nem is tudom miért, de nem töltöttem fel a vázlatos naptárba…

                            Előre is köszönöm a segítséget! Pacsi! Potus

                            Attachments:
                            You must be logged in to view attached files.
                            #4683
                            Potus
                            Felhasználó

                              az átírt kód…

                              Attachments:
                              You must be logged in to view attached files.
                              #4685
                              Potus
                              Felhasználó

                                előtte:

                                #4686
                                Potus
                                Felhasználó

                                  most előtte…

                                  Attachments:
                                  You must be logged in to view attached files.
                                  #4688
                                  Potus
                                  Felhasználó

                                    utána…

                                    Attachments:
                                    You must be logged in to view attached files.
                                    #4697
                                    delila
                                    Felhasználó

                                      Visszaküldöm a VÁZLATOS füzetet, némi módosítással.

                                      Szerk.: El kellene menned Horváth Imihez egy VBA tanfolyamra. Míg nem látod átfogóan a lényeget, csak kapkodsz, és semmi nem marad meg. Hidd el, érdemes lenne.

                                      • A hozzászólás módosításra került: 6 years telt el-delila. Indok: Kéretlen tanács
                                      Attachments:
                                      You must be logged in to view attached files.
                                      #4700
                                      Potus
                                      Felhasználó

                                        ha megnyítom a netről a vázlatos1-et és igent nyomok a kérésre kiír valami hibát… globális hibát…

                                        Attachments:
                                        You must be logged in to view attached files.
                                        #4702
                                        Potus
                                        Felhasználó

                                          ha meg a kis naptáramat nyítom meg nekem is ki ír valamit…

                                          Attachments:
                                          You must be logged in to view attached files.
                                          #4704
                                          Potus
                                          Felhasználó

                                            az utolsó nem az , ez lesz jó….

                                            #4705
                                            Potus
                                            Felhasználó

                                              és ez..

                                              Attachments:
                                              You must be logged in to view attached files.
                                              #4707
                                              Potus
                                              Felhasználó

                                                gondolom bezavar a h5-be a két multi…. A tanfolyam jó ötletnek tűnik, bárki is jegyezte meg. Gondolkodom rajta.

                                                Attachments:
                                                You must be logged in to view attached files.
                                                #4709
                                                delila
                                                Felhasználó

                                                  Szarvas hiba részemről! Úgy akartam egy cellára állni, hogy előtte nem aktiváltam a lapot.

                                                  Private Sub Workbook_Open()
                                                      Dim WS As Worksheet, sor As Long, valasz
                                                      
                                                      Set WS = Sheets("AKCIÓK")
                                                      
                                                      valasz = MsgBox("Töröljem a lejárt érvényességű tételeket?", vbYesNo + vbQuestion, "Törlési kérdés")
                                                      If valasz = vbNo Then GoTo Raall
                                                      
                                                      With WS
                                                          sor = 5
                                                          Do While .Cells(sor, 1) <> ""
                                                              If .Cells(sor, 2) < Date Then
                                                                  .Range("A" & sor & ":C" & sor).Delete Shift:=xlUp
                                                              Else: sor = sor + 1
                                                              End If
                                                          Loop
                                                          
                                                          sor = 5
                                                          Do While .Cells(sor, 5) <> ""
                                                              If .Cells(sor, 6) < Date Then
                                                                  .Range("E" & sor & ":G" & sor).Delete Shift:=xlUp
                                                              Else: sor = sor + 1
                                                              End If
                                                          Loop
                                                      End With
                                                      
                                                  Raall:
                                                      Sheets("NYÍTÓOLDAL").Select
                                                      Range("H5").Select
                                                  End Sub
                                                  #4710
                                                  Potus
                                                  Felhasználó

                                                    #4711
                                                    Potus
                                                    Felhasználó

                                                      ..

                                                      Attachments:
                                                      You must be logged in to view attached files.
                                                      #4713
                                                      Potus
                                                      Felhasználó

                                                        ….

                                                        Attachments:
                                                        You must be logged in to view attached files.
                                                        #4718
                                                        delila
                                                        Felhasználó

                                                          A csatolt fájlodban NYÍTÓOLDAL névre hallgatott az első lapod. Lehet, hogy azóta javítottad a hosszú Í-t, azért fut hibára.

                                                          #4719
                                                          Potus
                                                          Felhasználó

                                                            Döbbenet, néha milyen egyszerű a világ…. 😀

                                                            KÖSZI!!!!

                                                          28 bejegyzés megtekintése - 1-28 / 28
                                                          • Be kell jelentkezni a hozzászóláshoz.