Telefonszámunk: 1-472-0679

Hozzászólások

100 bejegyzés megtekintése - 301-400 / 562
  • Szerző
    Bejegyzés
  • delila
    Felhasználó

      Nem fogadja el a fórummotor a makrós fájlt. Sebaj.

      Alt+F11-re bejön a VB szerkesztő. Bal oldalon kikeresed a füzetedet, abban is a ThisWorkbook lapot. Ezen duplaklikk, mire jobb oldalon kapsz egy nagy üres felületet. Ide másold be az alábbi makrót.

      Private Sub Workbook_SheetBeforeDoubleClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)
          Selection = Format(Now, "hh:mm")
      End Sub

      Lehet, hogy az idézőjeleket, vagy a sor elején lévő szóközöket át kell írnod, mert innen hibásan megy a másolás. Ha igen, akkor a hibás sor piros karakterekkel látszik az editorban.
      A füzetet makróbarátként kell elmentened, hogy a következő megnyitáskor is működjön a duplaklikk.

      delila
      Felhasználó

        Szia!

        A VB szerkesztőben a ThisWorkbook laphoz rendeltem egy makrót, ami a cellán állva duplaklikkre fix értékként beviszi az aktuális időt.
        Ez csak akkor fog működni, ha minden lapon megszünteted a Bejelentkezés, és Kijelentkezés sorokban az érvényesítést.

        delila
        Felhasználó

          Szívesen.
          „Jót nevettem”, ez is valami, de legalább a megoldással is tudtál mit kezdeni?

          delila
          Felhasználó

            Feltettem a módosított fájt, benne a hozzá tartozó mesével.
            A füzetben rosszul írtam: nem az A:M, hanem az A:N tartomány adja a kimutatás alapját.
            Az N oszlop FKERES függvénye az A oszlop ID-je alapján beírja a dolgozó nevét, ez szerepel a kimutatásban.

            • A hozzászólás módosításra került: 4 years, 8 months telt el-delila. Indok: Javítás
            Attachments:
            You must be logged in to view attached files.
            delila
            Felhasználó

              Imre már írta, hogy „Teszt adatok nélkül pedig egy csomó időmbe tellene próbálgatni”.
              Az időket úgy másold át, ahogy előtte az A:E tartományt.
              Tegyél fel egy fájlt, amiben már összemásoltad az adatokat a különböző füzetekből.

              delila
              Felhasználó

                Szívesen. Mi van a többi résszel?

                delila
                Felhasználó

                  A Range(„A2:E” kezdetű sor elején is kijavítottad az ActiveSheet.UsedRange.Rows.Count részt?

                  Nem lenne világosabb 2 változót felvenni?
                  Pl. a megnyitott füzet lapján az eddig-, a Célmunkalapon pedig az ide változót adhatnád meg.
                  A másolandó füzet megnyitásakor
                  eddig=range(„A” & rows.count).end(xlup).row
                  ide=wb.worksheets(„Célmunkalap”).range(„A” & rows.count).end(xlup).row+1

                  Másolás:
                  range(„A2:E” & eddig).copy wb.worksheets(„Célmunkalap”).range(„A” & ide)

                  delila
                  Felhasználó

                    Szia Imi!

                    Ugyanezeket az észrevételeket (dupla másolás, kettőspont hiánya) tettem én is a másik fórumon, ahova először feltette a kérdést Sutyi.

                    Üdv, Kati

                    delila
                    Felhasználó

                      Hoppá! Meghaladja a fájl mérete a megengedettet. Törlöm az első két lapot, és csak az általam készített lapokat hagyom meg a füzetben. Hátha…

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

                        Összeállítottam a másolat másolatát. Igaz, nem pont-, hanem vonal diagramot rajzoltam, de szerintem így jobban látszanak az értékek.
                        Az eredeti Munka1 lapról készítettem egy Másolat nevűt, ezt babráltam meg, és erről készítettem egy kimutatást a Kimutatás lapra, majd abból egy diagramot.

                        delila
                        Felhasználó

                          Erre gondolsz?

                          Private Sub CommandButton1_Click()
                              Label1.Caption = Format(Cells(1), "0.000000")
                          End Sub
                          delila
                          Felhasználó

                            Szívesen.
                            Biztosan áttetted az OOQ1:OOQ4 tartományt egy közelebbi oszlopba. 🙂

                            delila
                            Felhasználó

                              Szia!

                              Csatolok egy fájlt a képletekkel.
                              Miért olyan messze, az OOO oszlopba kell írni a távol lévők névsorát?
                              Üdv,
                              Kati

                              Szerk.: Nem csatoltál képet

                              • A hozzászólás módosításra került: 4 years, 10 months telt el-delila.
                              Attachments:
                              You must be logged in to view attached files.
                              Hozzászólás: Grafikus gyártási tervezet #5891
                              delila
                              Felhasználó

                                Kicifráztam Titok adatait a 2. lapon.

                                Attachments:
                                You must be logged in to view attached files.
                                Hozzászólás: [Resolved] Login.show #5859
                                delila
                                Felhasználó

                                  Vegyél fel egy lapot, ami üres, vagy csak olyasmi van rajta, amit mindenki láthat. Legyen a neve pl. Kezdőlap.
                                  A ThisWorkbook laphoz rendelj egy makrót.

                                  Private Sub Workbook_Open()
                                      Sheets("Kezdőlap").Select
                                      UserForm1.Show
                                  End Sub

                                  Ez indítja a UserForm1-et, ami csak egy textboxot, és egy commandbuttont tartalmaz (meg esetleg labelt, ami a jelszót bekérő szöveget tartalmazza).

                                  A textbox PasswordCar tulajdonságához írj be egy csillagot. Ez a karakter jelenik majd meg begépeléskor.

                                  Jön a gomb makrója.

                                  Private Sub CommandButton1_Click()
                                      If TextBox1 <> "Jelszó" Then  'Jelszó helyett írd az igazi jelszót
                                          TextBox1 = ""
                                      Else
                                          UserForm1.Hide
                                          UserForm2.Show
                                      End If
                                  End Sub

                                  A UserForm2 tartalmazza a füzet többi adatának a bevitelét, miegyebet.

                                  A Userform1 bezárását a jobb felső X-szel megakadályozhatod, nézz utána. Ilyent keress:
                                  Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)

                                  Hozzászólás: Jogosultságok kezelése #5816
                                  delila
                                  Felhasználó

                                    Szívesen.
                                    Írj a másik fórumra, mielőtt kitépik egymás haját! 😀

                                    Hozzászólás: Jogosultságok kezelése #5814
                                    delila
                                    Felhasználó

                                      A makró végét átírtam. A jelszo_1 és jelszó_2 résznél a Select Case utasításban látod, mit kell átírnod.
                                      Az End Sub fölötti sort megszüntettem, mert az egyes Case utasításoknál láthatóvá tettem a lapokat.

                                          Else  'A jelszóhoz kötött munkalap meghatározása
                                              Select Case jelszo
                                                  Case "jelszo_1"
                                                      Sheets(2).Visible = xlSheetVisible
                                                      Sheets(5).Visible = xlSheetVisible
                                                  Case "jelszo_2"
                                                      Sheets(3).Visible = xlSheetVisible
                                                      Sheets(4).Visible = xlSheetVisible
                                                      Sheets(6).Visible = xlSheetVisible
                                                  Case "jelszo_3": lap = 4
                                                  Case "jelszo_4": lap = 5
                                                  Case "jelszo_5": lap = 6
                                                  Case "jelszo_6": lap = 7
                                                  Case "jelszo_7": lap = 8
                                              End Select
                                          End If
                                      End Sub
                                      Hozzászólás: Jogosultságok kezelése #5811
                                      delila
                                      Felhasználó

                                        Kiegészítettem a makrót azzal, hogy ha a saját jelszavaddal lépsz be, minden lap látható legyen, és a lapvédelmet is levettem róluk.

                                        Private Sub Workbook_Open()
                                            Dim lap As Integer, jelszo As String
                                            
                                            For lap = 2 To Sheets.Count 'lapok láthatóságának megszüntetése, védelme
                                                Sheets(lap).Protect Password:="SzuperTitkosJelszo"
                                                Sheets(lap).Visible = xlSheetVeryHidden
                                            Next
                                            
                                            'Jelszó bekérése
                                            jelszo = Application.InputBox("Kérem a jelszót", "Jelszó bekérése", , , , , , Type:=2)
                                            
                                            'Saját jelszavad esetén minden lap láthatóvá tétele, zárolás megszüntetése
                                            If jelszo = "Saját_jelszavam" Then
                                                For lap = 2 To Sheets.Count 'lapok láthatóvá tétele, védelem megszüntetése
                                                    Sheets(lap).Unprotect Password:="SzuperTitkosJelszo"
                                                    Sheets(lap).Visible = xlSheetVisible
                                                Next
                                            Else  'A jelszóhoz kötött munkalap meghatározása
                                                Select Case jelszo
                                                    Case "jelszo_1": lap = 2
                                                    Case "jelszo_2": lap = 3
                                                    Case "jelszo_3": lap = 4
                                                    Case "jelszo_4": lap = 5
                                                    Case "jelszo_5": lap = 6
                                                    Case "jelszo_6": lap = 7
                                                    Case "jelszo_7": lap = 8
                                                End Select
                                                Sheets(lap).Visible = xlSheetVisible    'Az adott lap láthatóvá tétele
                                            End If
                                        End Sub
                                        Hozzászólás: Jogosultságok kezelése #5810
                                        delila
                                        Felhasználó

                                          Szia!

                                          A ThisWorkbook laphoz rendelj egy makrót, ami a füzet behívásakor automatikusan indul. Az első lap állandóan látható, a többiek lapja 2-től kezdődik.

                                          Private Sub Workbook_Open()
                                              Dim lap As Integer, jelszo As String
                                              
                                              For lap = 2 To Sheets.Count 'lapok láthatóságának megszüntetése, védelme
                                                  Sheets(lap).Protect Password:="SzuperTitkosJelszo"
                                                  Sheets(lap).Visible = xlSheetVeryHidden
                                              Next
                                              
                                              'Jelszó bekérése
                                              jelszo = Application.InputBox("Kérem a jelszót", "Jelszó bekérése", , , , , , Type:=2)
                                              
                                              Select Case jelszo  'A jelszóhoz kötött munkalap meghatározása
                                                  Case "jelszo_1": lap = 2
                                                  Case "jelszo_2": lap = 3
                                                  Case "jelszo_3": lap = 4
                                                  Case "jelszo_4": lap = 5
                                                  Case "jelszo_5": lap = 6
                                                  Case "jelszo_6": lap = 7
                                                  Case "jelszo_7": lap = 8
                                              End Select
                                              
                                              Sheets(lap).Visible = xlSheetVisible    'adott lap láthatóvá tétele
                                          End Sub

                                          Minden lap a „SzuperTitkosJelszo”-val van védve, amit átírhatsz. A Case utasításoknál írd át a jelszo_1-et és társait a valódi belépési jelszavakra. A számukat növelheted.

                                          Hozzászólás: [Resolved] Cellán belüli formázások #5751
                                          delila
                                          Felhasználó

                                            „Ennyi kifizetés volt: „# ##0″ Ft”
                                            Ügyelj a szóközökre!
                                            A hivatkozás egyszerűen =A1

                                            • A hozzászólás módosításra került: 5 years, 1 month telt el-delila.
                                            Hozzászólás: [Resolved] Dátum szövegként #5705
                                            delila
                                            Felhasználó

                                              Mit szólsz a
                                              d = right(„0” & Month(a),2)
                                              formához? Kiküszöbölheted vele a feltételeket.

                                              Hozzászólás: [Resolved] Cells.ClearContents #5632
                                              delila
                                              Felhasználó
                                                Sub MM1()
                                                    Dim lr As Long, r As Long
                                                    lr = Cells(Rows.Count, "B").End(xlUp).Row
                                                    For r = lr To 2 Step -2
                                                        If Range("A" & r) > Range("B" & r) Then
                                                '            Range("A" & r & ":C" & r + 1).ClearContents
                                                            Range("A" & r & ":C" & r + 1).Delete Shift:=xlUp
                                                        End If
                                                    Next r
                                                End Sub
                                                Hozzászólás: [Resolved] Cells.ClearContents #5630
                                                delila
                                                Felhasználó

                                                  Szívesen. 🙂

                                                  Hozzászólás: [Resolved] Cells.ClearContents #5628
                                                  delila
                                                  Felhasználó

                                                    A Rows(r) az egész sort jelöli ki az állandók törlésére.

                                                    Sub MM1()
                                                        Dim lr As Long, r As Long
                                                        lr = Cells(Rows.Count, "B").End(xlUp).Row
                                                        For r = lr To 2 Step -1
                                                            If Range("A" & r) > Range("B" & r) Then
                                                                Range("A" & r & ":C" & r).ClearContents
                                                    '            Range("A" & r & ":C" & r).Delete Shift:=xlUp
                                                            End If
                                                        Next r
                                                    End Sub

                                                    A megjegyzésbe tett sor az A:C részt úgy törli az r sorból, hogy az alatta lévő cellákat feljebb viszi, míg a másik törli a tartalmat, és üresen maradnak a cellák.

                                                    delila
                                                    Felhasználó

                                                      A lap neve, ahonnan másolsz: „Eredeti”, ahova pedig: „Új munkalap”.

                                                      Sub Masolas()
                                                          Dim sor As Long, usor As Long, ide As Long
                                                          
                                                          Sheets("Eredeti").Select
                                                          ide = 3
                                                          usor = Sheets("Eredeti").Range("A" & Rows.Count).End(xlUp).Row
                                                          For sor = 2 To usor
                                                              If Cells(sor, "Q") > "" Then
                                                                  Sheets("Új munkalap").Cells(ide, "A") = Cells(sor, "G")
                                                                  Sheets("Új munkalap").Cells(ide, "B") = Cells(sor, "H")
                                                                  ide = ide + 1
                                                              End If
                                                          Next
                                                      End Sub
                                                      Hozzászólás: ReDim (1 to p) #5574
                                                      delila
                                                      Felhasználó

                                                        Ha nem a ReDim a lényeg, akkor egyszerűbben is megoldható 1 ciklusban.

                                                        Sub mmm()
                                                            Dim i As Integer
                                                            For i = 1 To Sheets.Count - 1 'utolsó lap a Másol nevű
                                                                Sheets(i).Cells(1, 3).Copy Sheets("Másol").Cells(i + 1, 1)
                                                                Sheets("Másol").Cells(i + 1, 2) = Sheets(i).Name
                                                            Next i
                                                        End Sub

                                                        nem próbáltam ki a ReDim-et. 🙂

                                                        delila
                                                        Felhasználó

                                                          =HA(ÉS(E2>=$P$2;VAGY(VAGY(D2<>1;D2<>2);D2<>36;D2<>38));"Új";"")

                                                          • A hozzászólás módosításra került: 5 years, 3 months telt el-delila.
                                                          • A hozzászólás módosításra került: 5 years, 3 months telt el-delila.
                                                          Hozzászólás: [Resolved] Zárolt cellák másolása #5514
                                                          delila
                                                          Felhasználó

                                                            Feltételezem, hogy csak 1 lapod van a füzetben, ezért nem indul sem a lapra lépés, sem a lap elhagyása esetén induló két makró.

                                                            Másold át a két makrót a VB szerkesztőben bal oldalon található ThisWorkbook laphoz (lapot kijelölöd, jobbra bemásolod). Az első makró első sorát (Private Sub Worksheet_Activate()) írd át Private Sub Workbook_Open() -re, a másodikét (Private Sub Worksheet_Deactivate()) pedig Private Sub Workbook_BeforeClose(Cancel As Boolean) -ra.

                                                            Az első a füzet megnyitásakor, a második pedig a bezáráskor indul automatikusan. Az eredeti, laphoz rendelt két makrót törölheted.

                                                            Hozzászólás: [Resolved] Zárolt cellák másolása #5512
                                                            delila
                                                            Felhasználó

                                                              Csakis „átlagos felhasználók” ellen készült. 🙂

                                                              Hozzászólás: [Resolved] Zárolt cellák másolása #5510
                                                              delila
                                                              Felhasználó

                                                                Szia!
                                                                Ezt makróval tudod megoldani. A lapfülön – ahol a tiltásokat be akarod vezetni – jobb klikk, Kód megjelenítése. Bejutottál a VB szerkesztőbe. Bal oldalon ki van jelölve a lap, ahonnan kiindultál, jobb oldalon egy üres felületet látsz. Oda másold be a lenti makrót. Mikor a füzetben rálépsz a lapodra, indul a makró, és letiltja a kivágás, másolás, beillesztés és vonszolás lehetőségét.

                                                                Private Sub Worksheet_Activate()
                                                                    Dim oCtrl As Office.CommandBarControl
                                                                    'CTRL+C, CTRL+V és CTRL+X letiltása
                                                                    Application.OnKey "^c", ""
                                                                    Application.OnKey "^x", ""
                                                                    Application.OnKey "^v", ""
                                                                
                                                                    'Cut menü letiltása
                                                                    For Each oCtrl In Application.CommandBars.FindControls(ID:=21)
                                                                        oCtrl.Enabled = False
                                                                    Next oCtrl
                                                                
                                                                    'Copy menü letiltása
                                                                    For Each oCtrl In Application.CommandBars.FindControls(ID:=19)
                                                                        oCtrl.Enabled = False
                                                                    Next oCtrl
                                                                    
                                                                    'Vonszolás letiltása
                                                                    Application.CellDragAndDrop = False
                                                                End Sub

                                                                Érdemes a lap elhagyásához bevinni a fentiek engedélyezését.

                                                                Private Sub Worksheet_Deactivate()
                                                                    Dim oCtrl As Office.CommandBarControl
                                                                    'CTRL+C, CTRL+V és CTRL+X engedélyezése
                                                                    Application.OnKey "^c"
                                                                    Application.OnKey "^x"
                                                                    Application.OnKey "^v"
                                                                    
                                                                    'Cut menü engedélyezése
                                                                    For Each oCtrl In Application.CommandBars.FindControls(ID:=21)
                                                                        oCtrl.Enabled = True
                                                                    Next oCtrl
                                                                        
                                                                    'Copy menü engedélyezése
                                                                    For Each oCtrl In Application.CommandBars.FindControls(ID:=19)
                                                                        oCtrl.Enabled = True
                                                                    Next oCtrl
                                                                           
                                                                    'Vonszolás engedélyezése
                                                                    Application.CellDragAndDrop = True
                                                                End Sub

                                                                A füzetet makróbarátként (xlsm kiterjesztéssel) kell mentened.

                                                                Hozzászólás: [Resolved] Megjegyzés helyett #5504
                                                                delila
                                                                Felhasználó

                                                                  Hát persze!

                                                                  Attachments:
                                                                  You must be logged in to view attached files.
                                                                  Hozzászólás: [Resolved] Megjegyzés helyett #5496
                                                                  delila
                                                                  Felhasználó

                                                                    Nem a névkezelőben, hanem a szerkesztőléc bal oldalán adtam meg a nevet.

                                                                    Attachments:
                                                                    You must be logged in to view attached files.
                                                                    Hozzászólás: [Resolved] Megjegyzés helyett #5494
                                                                    delila
                                                                    Felhasználó

                                                                      Rajzoltam 2 téglalapot, amiknek olyan formát adtam, amilyen a megjegyzés. Az elsőnek Megj1, a másiknak Megj2 nevet adtam.
                                                                      A laphoz rendeltem egy makrót, ami magáért beszél.

                                                                      Private Sub Worksheet_SelectionChange(ByVal Target As Range)
                                                                          Dim a As Integer
                                                                          
                                                                          For a = 1 To ActiveSheet.Shapes.Count
                                                                              ActiveSheet.Shapes(a).Visible = False
                                                                          Next
                                                                          Select Case Target.Address
                                                                              Case "$A$1"
                                                                                  Shapes("Megj1").Visible = True
                                                                              Case "$B$5"
                                                                                  Shapes("Megj2").Visible = True
                                                                          End Select
                                                                      End Sub

                                                                      Persze makróbarátként kell menteni a füzetet.

                                                                      Hozzászólás: [Resolved] Megjegyzés helyett #5488
                                                                      delila
                                                                      Felhasználó

                                                                        Jobb klikk a cellán, megjegyzés beszúrása.
                                                                        Beállíthatod a karakter formátumát, majd szintén jobb klikkel a cellán megadhatod, hogy állandóan-, vagy csak az egérmutatónak a cella fölé vitelekor legyen látható a megjegyzés.
                                                                        A megjegyzés dobozán jobb klikkre további beállítási lehetőségeket is kapsz a formátum beállításához, még képet is rendelhetsz hozzá.

                                                                        Hozzászólás: Több munkalapon való szűrés #5477
                                                                        delila
                                                                        Felhasználó

                                                                          Vegyük azt az egyszerű esetet, hogy mind a 61 lapon az A oszlopban vannak a tételek, és az A1 cella oszlopcím.
                                                                          A 61. lapon a B1:BI1 cellákba írd be a 60 lap nevét (Munka1; Munka2).

                                                                          Ezen a lapon a B2 cella képlete
                                                                          =HAHIBA(HOL.VAN($A2;INDIREKT(B$1 & „!A:A”);0);”–”)
                                                                          ezt másolhatod jobbra, és le. Az eredmény az egyes lapokon megtalálható tétel sorának a száma.

                                                                          Hozzászólás: [Resolved] Automatukus sorszám generálás #5414
                                                                          delila
                                                                          Felhasználó

                                                                            Szívesen.
                                                                            Végül mégis összejött.

                                                                            Hozzászólás: [Resolved] Automatukus sorszám generálás #5411
                                                                            delila
                                                                            Felhasználó

                                                                              A lapodon azoknak a celláknak a zárolását is fel kell oldanod a lapvédelem előtt, amikbe engedélyezni akarod a bevitelt. Ezek (most) a P:S tartomány, teljes oszlopok. Ha máshol is szeretnél adatbevitelt, azokat a tartományokat se zárold.

                                                                              Hozzászólás: [Resolved] Automatukus sorszám generálás #5407
                                                                              delila
                                                                              Felhasználó

                                                                                Arra gondoltam, hogy a Q oszlopnál a lapvédelem beállítása előtt engedélyezni kell az oszlop kitöltését (Cellaformázás, Védelem fül, Zárolás négyzet elől kivesszük a pipát). Ezután a laphoz rendelt makró elvégzi a kitöltött Q zárolását.

                                                                                Private Sub Worksheet_Change(ByVal Target As Range)
                                                                                    If Target.Column = 17 And Target <> "" Then
                                                                                        'Engedélyezi a lapon a módosítást a MAKRÓ SZÁMÁRA
                                                                                        ActiveSheet.Protect Password:="SzupertitkosJelszo", UserInterfaceOnly:=True
                                                                                        
                                                                                        Range(Target.Address).Locked = True
                                                                                    End If
                                                                                End Sub
                                                                                Hozzászólás: [Resolved] Automatukus sorszám generálás #5387
                                                                                delila
                                                                                Felhasználó

                                                                                  Laphoz rendelt, eseményvezérelt makró.

                                                                                  Private Sub Worksheet_Change(ByVal Target As Range)
                                                                                      If Target.Column = 14 Then  'N oszlop
                                                                                          Application.EnableEvents = False
                                                                                          If Target = "A" Or Target = "B" Then Cells(Target.Row, "M") = Target & "-" & _
                                                                                              Left("000" & Application.WorksheetFunction.CountA(Columns(13), Target & "*"), 4)
                                                                                          Application.EnableEvents = True
                                                                                      End If
                                                                                  End Sub
                                                                                  Hozzászólás: [Resolved] VBA hiba #5386
                                                                                  delila
                                                                                  Felhasználó

                                                                                    A laphoz rendelt a makrót.

                                                                                    Private Sub Worksheet_Change(ByVal Target As Range)
                                                                                        Dim oszlop As String
                                                                                        If Target.Column = 29 Then 'AC oszlop
                                                                                            Select Case Target
                                                                                                Case "Kezdés"
                                                                                                    oszlop = "AD"
                                                                                                Case "Kész"
                                                                                                    oszlop = "AF"
                                                                                                Case Else
                                                                                                    oszlop = "AE"
                                                                                            End Select
                                                                                            
                                                                                            Application.EnableEvents = False
                                                                                            Cells(Target.Row, oszlop) = Now
                                                                                            Application.EnableEvents = True
                                                                                        End If
                                                                                    End Sub

                                                                                    A Select Case utasításban a különböző beírható értékekhez megadtam, melyik oszlop legyen az időpont bevitele.

                                                                                    Hozzászólás: [Resolved] Munkalapok adott celláinak másolása #5358
                                                                                    delila
                                                                                    Felhasználó

                                                                                      Az értékadások után 1 lépésben másolhatsz.

                                                                                      Union(oszlop1, oszlop2, oszlop3, oszlop4, oszlop5, oszlop6).Copy Sheets("Állásidők_rögzítése").Range("B3")

                                                                                      A másolás helyét (másik lap B3 cella) megjegyzésbe tetted.
                                                                                      Nem próbáltam ki, de valószínűleg nem szereti a több tartomány együttes beillesztését.
                                                                                      Ebben az esetben Terület1.Copy MásikLap.Range(cellacím)

                                                                                      Hozzászólás: [Resolved] Munkalapok adott celláinak másolása #5354
                                                                                      delila
                                                                                      Felhasználó

                                                                                        Szia!

                                                                                        Tedd egy ciklusba.

                                                                                        For lap=10 to sheets.count
                                                                                           with sheets(lap)
                                                                                              set oszlop1 = .Range("D93:E102,L93:M102,T93:U102")
                                                                                              ...
                                                                                           end with
                                                                                        next
                                                                                        Hozzászólás: [Resolved] wmp control vs 5 mp3 file #5351
                                                                                        delila
                                                                                        Felhasználó

                                                                                          Óriási a fájlod, apait-anyait pakolsz bele, ráadásul a makróid másik fájlban vannak.
                                                                                          Igazán jobban tennéd, ha a kész (ingyenes) alkalmazásokat használnád arra, amikre hozzáértők létrehozták.

                                                                                          Előbb érdemes lenne az Excellel és a programozásával jó közepes szintre eljutnod, majd azután kellene foglalkoznod a csicsázással. Meglátod, ha már érted is, mit csinálsz, nem foglalkozol majd ilyen felesleges dolgokkal.

                                                                                          Attachments:
                                                                                          You must be logged in to view attached files.
                                                                                          Hozzászólás: [Resolved] wmp control vs 5 mp3 file #5342
                                                                                          delila
                                                                                          Felhasználó

                                                                                            Tanulmányozd Horváth Imre csodás leírását a többszintű legördülőkről. http://excel-bazis.hu/tutorial/tobbszintu-legordulo-lista-profi-megoldas
                                                                                            A megfelelő, zenét tartalmazó oszlop kiválasztása után makróval megszámoltatod, hány számot (sort) tartalmaz. Ennek megfelelően beíratod a hiperhivatkozások képleteit oda, ahova akarod, majd indítod a lejátszó ciklust.

                                                                                            Én is hallgatok zenét munka közben, de nem Excellel, hanem a jó öreg Winamp segítségével, amit erre fejlesztettek.

                                                                                            Hozzászólás: [Resolved] wmp control vs 5 mp3 file #5340
                                                                                            delila
                                                                                            Felhasználó

                                                                                              Tedd az 5 fájlt hiperhivatkozásként az 5 cellába.

                                                                                              Sub Zene()
                                                                                                  Dim sor As Integer
                                                                                                  Application.DisplayAlerts = False
                                                                                                  For sor = 150 To 155
                                                                                                      If Range("D" & sor) = "" Then Exit Sub
                                                                                                      Range("D" & sor).Hyperlinks(1).Follow NewWindow:=False, AddHistory:=True
                                                                                                      DoEvents
                                                                                                  Next
                                                                                                  Application.DisplayAlerts = True
                                                                                              End Sub
                                                                                              delila
                                                                                              Felhasználó

                                                                                                Az E oszlopban szóközzel kezdődik a települések neve, a Q1-ben nem.

                                                                                                Ha nem akarod az E oszlop szóközeit előre leszedni, akkor a képleted
                                                                                                =HAHIBA(FKERES(TRIM(E1);Q:R;2;0);"Nincs ilyen település")
                                                                                                Egyszerűbb, ha a trimmelést egy segédoszlopban végrehajtod. =TRIM(E1), ezt lemásolod a többi sorod mellé, majd a teljes oszlopot másolod, és az E1 cellába irányítottan, értékként beilleszted. A segédoszlop törölhető.
                                                                                                Ha előre elkészítetted ezt, a képletben a TRIM(E1) helyén marad az E1.

                                                                                                Hozzászólás: PQ 50 mill. sor #5308
                                                                                                delila
                                                                                                Felhasználó

                                                                                                  Szia Imi!

                                                                                                  Nagyon köszönöm, holnap kipróbáljuk. „Csak” 1.000.000 sor lesz (talán), a témakör címét a csatolt link után adtam.
                                                                                                  Igen, a két nyelv sorai megegyeznek – ha igaz.

                                                                                                  Üdv,
                                                                                                  Kati

                                                                                                  delila
                                                                                                  Felhasználó

                                                                                                    Egyszerűsítettem a makrón. A tömbbe eredetileg fordítva tettem be az adatokat (sor, oszlop).

                                                                                                    Sub TombosMasolas()
                                                                                                        Dim Tomb(), sor As Long, usor As Long, oszlop As Integer, uoszlop As Integer, tombsor As Integer
                                                                                                        
                                                                                                        usor = Cells.SpecialCells(xlLastCell).Row
                                                                                                        uoszlop = Cells.SpecialCells(xlLastCell).Column
                                                                                                    
                                                                                                        ReDim Tomb(usor, uoszlop)
                                                                                                        tombsor = 0
                                                                                                        For sor = 2 To usor
                                                                                                            If Cells(sor, 2) = 4 Then
                                                                                                                tombsor = tombsor + 1
                                                                                                                For oszlop = 1 To uoszlop
                                                                                                                    Tomb(oszlop, tombsor) = Cells(sor, oszlop)
                                                                                                                Next
                                                                                                            End If
                                                                                                        Next
                                                                                                        
                                                                                                        Sheets(2).Range("A1" & ":M" & uoszlop) = Application.Transpose(Tomb)
                                                                                                    End Sub
                                                                                                    
                                                                                                    Hozzászólás: [Resolved] Userform Textbox vizsgálat #5302
                                                                                                    delila
                                                                                                    Felhasználó

                                                                                                      Szívesen. 🙂

                                                                                                      Hozzászólás: [Resolved] Userform Textbox vizsgálat #5300
                                                                                                      delila
                                                                                                      Felhasználó

                                                                                                        Gondolom, a bevitt adatokat fel is akarod vinni a füzetbe, amit egy gombhoz rendelt makró visz véghez. Ezt a makrót kell az általad írt sorral kezdeni. Ha üres a textbox, a figyelmeztetés után ki is kell léptetni a Sub-ból, hogy ne rögzítse a hiányos adatokat.

                                                                                                        If doboz="" Then
                                                                                                           Msgbox "Nem lehet üres a dobozszám"
                                                                                                           Exit Sub
                                                                                                        End If
                                                                                                        delila
                                                                                                        Felhasználó

                                                                                                          Lépj a VB szerkesztőbe (Alt+F11), és ott a Module1-ben megtalálod a TombosMasolas makrót, azt kell elindítani.
                                                                                                          A füzetből az Alt+F8 előhozza a füzetben lévő makrók nevét, így is indíthatod anélkül, hogy a VB szerkesztőbe lépnél.
                                                                                                          Láthatod, hogy a füzet xlsm kiterjesztésű, ami makróbarát.

                                                                                                          delila
                                                                                                          Felhasználó

                                                                                                            Szívesen.
                                                                                                            Azért remélem, jön egy szebb megoldás is.

                                                                                                            delila
                                                                                                            Felhasználó

                                                                                                              Szia Péter!

                                                                                                              Tettem fel egy fájlt, ami több oszlopot is tartalmaz.
                                                                                                              Biztosan van elegánsabb megoldás, én ezt tudtam összehozni.
                                                                                                              Az első lap „megszűrt” adatait a második lapra gyűjti ki.

                                                                                                              Üdv,
                                                                                                              Kati

                                                                                                              Attachments:
                                                                                                              You must be logged in to view attached files.
                                                                                                              Hozzászólás: [Resolved] számrészlethez kód hozzárendelése #5288
                                                                                                              delila
                                                                                                              Felhasználó

                                                                                                                Szívesen.
                                                                                                                A szövegfüggvényeket nézd meg a súgóban.

                                                                                                                Hozzászólás: [Resolved] számrészlethez kód hozzárendelése #5284
                                                                                                                delila
                                                                                                                Felhasználó

                                                                                                                  A csatolt képen a B2 cella képletét látod a szerkesztőlécen.

                                                                                                                  Attachments:
                                                                                                                  You must be logged in to view attached files.
                                                                                                                  Hozzászólás: [Resolved] MOST függvény használata #5243
                                                                                                                  delila
                                                                                                                  Felhasználó

                                                                                                                    A második kérdésedről Horvát Imi már biztosan írt régebben, majd segít megtalálni a cikket. Szerintem abból jobban megérted majd, mintha én próbálkoznék vele.

                                                                                                                    Az elsőhöz írtam egy rövid makrót, amit a lapodhoz kell rendelned. Lapfülön jobb klikk, Kód megjelenítése. Ezzel bejutsz a VB szerkesztőbe. Bal oldalon az aktuális lapod lesz kijelölve, a jobb oldali üres területre másold a makrót.

                                                                                                                    Private Sub Worksheet_Change(ByVal Target As Range)
                                                                                                                        If Target.Column = 2 Then
                                                                                                                            Application.EnableEvents = False
                                                                                                                            If Target = "Kész" Then Cells(Target.Row, "D") = Now Else Cells(Target.Row, "C") = Now
                                                                                                                            Application.EnableEvents = True
                                                                                                                        End If
                                                                                                                    End Sub

                                                                                                                    Még annyit, hogy a B1, a C1 nem oszlopok, hanem cellák címei. Az oszlop B, vagy C.

                                                                                                                    Hozzászólás: [Resolved] MOST függvény használata #5218
                                                                                                                    delila
                                                                                                                    Felhasználó

                                                                                                                      Szia!

                                                                                                                      Kicsit zavarosan írtad le az óhajodat, mert az A12-be szeretnéd beíratni az időpontot, mikor az A1:A17 tartomány ki van töltve. A tartományban benne van az a cella, ahol az utolsó bevitel idejét szeretnéd látni.

                                                                                                                      A laphoz rendelt makró az A1:A17 kitöltését figyeli, és az utolsó adat bevitelekor a B2 cellába írja be az időpontot. A CountA a DARAB2 függvény angol megfelelője.

                                                                                                                      Private Sub Worksheet_Change(ByVal Target As Range)
                                                                                                                          If Not Intersect(Target, [A1:A17]) Is Nothing And _
                                                                                                                              Application.WorksheetFunction.CountA(Range("A1:A17")) = 17 Then
                                                                                                                                  Range("B2") = Now
                                                                                                                          End If
                                                                                                                      End Sub

                                                                                                                      Kedved és igényed szerint módosíthatod a figyelt terület, és az időpont helyének meghatározását.

                                                                                                                      • A hozzászólás módosításra került: 5 years, 5 months telt el-delila.
                                                                                                                      Hozzászólás: Excel határidőnapló értesítéssel #5212
                                                                                                                      delila
                                                                                                                      Felhasználó

                                                                                                                        Az alsó sort a B oszlopban kerested, de a dátumok a makró szerint a C-ben vannak. Lehet, hogy ezért nem kapsz eredményt.

                                                                                                                        Kicsit módosítva (C-re)

                                                                                                                        Sub popupuzenet()
                                                                                                                            Dim sorszam As Integer
                                                                                                                            Dim a As Integer
                                                                                                                            Dim uzi As String
                                                                                                                            
                                                                                                                            With Worksheets("Munka1")
                                                                                                                                sorszam = .Range("C" & Rows.Count).End(xlUp).Row
                                                                                                                                For a = 5 To sorszam
                                                                                                                                    If .Range("C" & a) < Date + 7 Then
                                                                                                                                        uzi = uzi & .Range("C" & a) & vbLf
                                                                                                                                    End If
                                                                                                                                Next a
                                                                                                                            End With
                                                                                                                            
                                                                                                                            MsgBox uzi, , "Lejárt számlák"
                                                                                                                        End Sub
                                                                                                                        Hozzászólás: [Resolved] MOST függvény használata #5196
                                                                                                                        delila
                                                                                                                        Felhasználó

                                                                                                                          Szia!

                                                                                                                          Csupán annyit kell változtatnod a kódon, hogy Target.Column-ként annak az oszlopnak a számát adod meg, amelyiknek az értékváltozását követi a képleted eredménye.

                                                                                                                          Pl. ha a B2 képlete =A2*6, akkor az A oszlop módosulását kell figyelned, vagyis a Target.column = 1, mert az első oszlopba írsz be értéket.

                                                                                                                          delila
                                                                                                                          Felhasználó

                                                                                                                            Szia!

                                                                                                                            Ha a kiinduló A2 cella fix, akkor

                                                                                                                            Sub keplet()
                                                                                                                                Dim lRow As Integer
                                                                                                                            
                                                                                                                                Sheets("Munka1").Select
                                                                                                                                lRow = Cells(Rows.Count, 1).End(xlUp).Row
                                                                                                                                Cells(lRow + 1, 1) = "=SUMPRODUCT(1/COUNTIF(R2C1:R" & lRow & "C1,R2C1:R" & lRow & "C1))"
                                                                                                                            End Sub
                                                                                                                            delila
                                                                                                                            Felhasználó

                                                                                                                              Szia Krisztina!

                                                                                                                              Csatolok egy fájlt, ami a formátumot is másolja az Osszesito füzetbe. Az utvonal változóba add meg a saját útvonaladat.
                                                                                                                              Ebben a makróban nincs hibakezelés arra az esetre, ha valamelyik megnyitott füzetben nem létezik OOM nevű lap!

                                                                                                                              Üdv,
                                                                                                                              Kati

                                                                                                                              • A hozzászólás módosításra került: 5 years, 7 months telt el-delila. Indok: Lemaradt a csatolás
                                                                                                                              Attachments:
                                                                                                                              You must be logged in to view attached files.
                                                                                                                              Hozzászólás: Frissités… #5033
                                                                                                                              delila
                                                                                                                              Felhasználó

                                                                                                                                Egyszerűbben is megoldhatod. Csak egy címke legyen, Label1. Ennek a magassága (Height) 3, szélessége (Width) nulla.

                                                                                                                                Private Sub UserForm_Activate()
                                                                                                                                    For i = 2 To 100 Step 2
                                                                                                                                        For j = 1 To 1000000: Next
                                                                                                                                        DoEvents
                                                                                                                                        UserForm1.Caption = i & "% komplett"
                                                                                                                                        Label1.Width = i * 2
                                                                                                                                    Next
                                                                                                                                End Sub
                                                                                                                                Hozzászólás: Frissités… #5030
                                                                                                                                delila
                                                                                                                                Felhasználó

                                                                                                                                  Feltételezem, hogy a formon a zöld csík (Label2) szélességét akarod növelni, és ebbe akarod beíratni az adatok betöltésének pillanatnyi értékét.
                                                                                                                                  A Label1 és Label2 Left tulajdonságát (bal szélét) azonosra állítottam, a Label2 kiinduló szélessége (width) nulla.
                                                                                                                                  Lassítani, gyorsítani a Label2 szélességét a For j=1 To … érték módosításával tudod. Nagyobb értéknél lassúbb lesz a folyamat.

                                                                                                                                  Attachments:
                                                                                                                                  You must be logged in to view attached files.
                                                                                                                                  Hozzászólás: Frissités… #5024
                                                                                                                                  delila
                                                                                                                                  Felhasználó

                                                                                                                                    Egy példa:

                                                                                                                                    Sub StatuszSor()
                                                                                                                                        Dim sor As Integer
                                                                                                                                        For sor = 1 To 25
                                                                                                                                            Application.StatusBar = sor & ". sor összege:   " & Cells(sor, 1) + Cells(sor, 2)
                                                                                                                                            Application.Wait Now + TimeValue("00:00:01")
                                                                                                                                        Next
                                                                                                                                        Application.StatusBar = False
                                                                                                                                    End Sub

                                                                                                                                    A For i Next i ciklust lezártad, de a For j-t nem.

                                                                                                                                    Hozzászólás: Frissités… #5023
                                                                                                                                    delila
                                                                                                                                    Felhasználó

                                                                                                                                      Egy példa:

                                                                                                                                      Sub StatuszSor()
                                                                                                                                          Dim sor As Integer
                                                                                                                                          For sor = 1 To 25
                                                                                                                                              Application.StatusBar = sor & ". sor összege:   " & Cells(sor, 1) + Cells(sor, 2)
                                                                                                                                              Application.Wait Now + TimeValue("00:00:01")
                                                                                                                                          Next
                                                                                                                                          Application.StatusBar = False
                                                                                                                                      End Sub

                                                                                                                                      A For i Next i ciklust lezártad, de a For j-t nem.

                                                                                                                                      Hozzászólás: [Resolved] repeat n times #5008
                                                                                                                                      delila
                                                                                                                                      Felhasználó

                                                                                                                                        Szia!

                                                                                                                                        Próbáld így:

                                                                                                                                        Sub pttro_1()
                                                                                                                                            Dim ciklus As Integer, usor As Long, ciklusszam As Integer
                                                                                                                                            
                                                                                                                                            ciklusszam = Range("I1")
                                                                                                                                            
                                                                                                                                            For ciklus = 1 To ciklusszam
                                                                                                                                                usor = Cells(ActiveCell.Row, ActiveCell.Column).End(xlDown).Row
                                                                                                                                                Range(Cells(ActiveCell.Row, ActiveCell.Column), Cells(usor, ActiveCell.Column)).Copy _
                                                                                                                                                    Cells(usor + 1, ActiveCell.Column)
                                                                                                                                                Cells(usor + 1, ActiveCell.Column).Activate
                                                                                                                                            Next
                                                                                                                                            Application.CutCopyMode = False
                                                                                                                                        End Sub

                                                                                                                                        Itt az I1 cella tartalmazza az ismétlések számát. Ha ebbe a cellába beírt érték 3, akkor 3-szor fut le a ciklus, vagyis az eredetivel együtt összesen 4-szer szerepelnek majd egymás alatt az adataid.
                                                                                                                                        Ha csak a megadott számban szeretnéd látni az adatokat, a
                                                                                                                                        ciklusszam = Range("I1")
                                                                                                                                        helyett írj
                                                                                                                                        ciklusszam = Range("I1")-1 -et.

                                                                                                                                        Üdv,
                                                                                                                                        Kati

                                                                                                                                        Hozzászólás: [Resolved] táblák összesítése #4983
                                                                                                                                        delila
                                                                                                                                        Felhasználó

                                                                                                                                          Örülök, hogy összejött, szívesen.

                                                                                                                                          Hozzászólás: [Resolved] táblák összesítése #4980
                                                                                                                                          delila
                                                                                                                                          Felhasználó

                                                                                                                                            Szia Feri!

                                                                                                                                            A Module2-be írtam egy makrót, benne némi magyarázattal.

                                                                                                                                            Üdv, Kati

                                                                                                                                            Attachments:
                                                                                                                                            You must be logged in to view attached files.
                                                                                                                                            Hozzászólás: [Resolved] Excel % számítás #4890
                                                                                                                                            delila
                                                                                                                                            Felhasználó

                                                                                                                                              A1-> 5500, B1->2990, C1->=100-B1*100/A1

                                                                                                                                              Hozzászólás: [Resolved] Excel százalékszámítás #4869
                                                                                                                                              delila
                                                                                                                                              Felhasználó

                                                                                                                                                Én vagyok a hibás, tényleg rosszul írtam. Helyesen =B2*100/B1

                                                                                                                                                Hozzászólás: [Resolved] Excel százalékszámítás #4866
                                                                                                                                                delila
                                                                                                                                                Felhasználó

                                                                                                                                                  Eszerint a 602 átnézett kép tartalmazza a 141 problémásat is. Akkor az 1 órája írt két képlet közül az elsőt kell alkalmaznod.

                                                                                                                                                  Hozzászólás: [Resolved] Excel százalékszámítás #4862
                                                                                                                                                  delila
                                                                                                                                                  Felhasználó

                                                                                                                                                    %=érték*100/összeg
                                                                                                                                                    érték=141, összeg=602+141 –> 18,97712

                                                                                                                                                    Ellenőrzés: (602+141)*18,97712%
                                                                                                                                                    Számológépen: 602 plusz_gomb 141 =_gomb *_gomb 18,97712 %_gomb

                                                                                                                                                    Hozzászólás: [Resolved] Excel százalékszámítás #4859
                                                                                                                                                    delila
                                                                                                                                                    Felhasználó

                                                                                                                                                      Ha az átnézett képek száma tartalmazza a problémásakat is, akkor a képlet
                                                                                                                                                      =B2*100/B2, ha nem (ebben az esetben az összes kép száma 743), akkor a =B2*100/(B1+B2) képlet adja meg a százalék értéket.

                                                                                                                                                      delila
                                                                                                                                                      Felhasználó

                                                                                                                                                        Szia!
                                                                                                                                                        A másik fórumon, ahol feltetted ugyanezt a témát, válaszoltam.

                                                                                                                                                        Hozzászólás: [Resolved] Darab2 függvény feltunningolva #4824
                                                                                                                                                        delila
                                                                                                                                                        Felhasználó

                                                                                                                                                          Az R8 cella eredménye nem tetszik? Oda nem DARAB2, hanem DARABTELI függvény kell.
                                                                                                                                                          =DARABTELI(M:M;”x”)

                                                                                                                                                          delila
                                                                                                                                                          Felhasználó

                                                                                                                                                            Szívesen. 🙂

                                                                                                                                                            delila
                                                                                                                                                            Felhasználó

                                                                                                                                                              Jó, hogy kitetted a képet. Az utvonal változó megadásánál hiányzik a szöveg végéről a backflash jel.

                                                                                                                                                              delila
                                                                                                                                                              Felhasználó

                                                                                                                                                                Kiteszel a lapodra egy alakzatot (négyszög, kör, miegyéb). Elnevezed Udvozlet-nek. Ennek az alakzatnak a képpel történő feltöltését végzi a makró a pillanatnyi idő függvényében.
                                                                                                                                                                A képeket az utvonal változóban megadott mappában kell tárolnod.

                                                                                                                                                                delila
                                                                                                                                                                Felhasználó

                                                                                                                                                                  A rohanásban elfelejtettem csatolni a mintát, elnézést. Csomagold ki, és a ThisWorkbook laphoz rendelt makróban írd át az utvonal változó értékét a sajátodra.
                                                                                                                                                                  A beszúrt alakzat neve Udvozlet.

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

                                                                                                                                                                    Most nem érek rá a magyarázatra, de biztosan rájössz.

                                                                                                                                                                    Hozzászólás: cellák, sorok üritése dátum alapján #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.

                                                                                                                                                                      Hozzászólás: cellák, sorok üritése dátum alapján #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
                                                                                                                                                                        Hozzászólás: cellák, sorok üritése dátum alapján #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.
                                                                                                                                                                          delila
                                                                                                                                                                          Felhasználó

                                                                                                                                                                            Makró nélkül is megoldhatod. Kijelölöd a diagramon a teljes kört, majd az egyik cikket. Jobb klikk, Adatpont formázása, a Kitöltés menüpontnál beállítod a színt.

                                                                                                                                                                            delila
                                                                                                                                                                            Felhasználó

                                                                                                                                                                              Szia!

                                                                                                                                                                              Azt hiszem, arra gondoltál, amivel kiegészítettem a füzetedet. A „2” laphoz rendeltem egy eseményvezérelt makrót, ami a B:O tartományba beírt adatokat figyeli. Ha ez x, vagy X, akkor az „1” lap A oszlopában az első üres sorba beírja a „2” lap aktuális oszlopának a címét.

                                                                                                                                                                              A makró miatt makróbarátként kellett menteni a füzetet.

                                                                                                                                                                              Üdv,
                                                                                                                                                                              Kati

                                                                                                                                                                              Attachments:
                                                                                                                                                                              You must be logged in to view attached files.
                                                                                                                                                                              Hozzászólás: cellák, sorok üritése dátum alapján #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.

                                                                                                                                                                                Hozzászólás: cellák, sorok üritése dátum alapján #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
                                                                                                                                                                                  Hozzászólás: cellák, sorok üritése dátum alapján #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.

                                                                                                                                                                                    delila
                                                                                                                                                                                    Felhasználó

                                                                                                                                                                                      Szívesen. 🙂
                                                                                                                                                                                      A dicséret Krizsák Lászlót illeti.

                                                                                                                                                                                      delila
                                                                                                                                                                                      Felhasználó

                                                                                                                                                                                        Krizsák László készített 5 éve egy vezérlő nélküli naptár userformot, amit egy fórumon közkinccsé tett.

                                                                                                                                                                                        Csatolom a füzetet, amiből átmásolhatjátok a saját fájljaitokba a Naptar userformot, a cmdClass modult, és a Munka1 laphoz rendelt eseményvezérelt makrót. Az én részem csupán a szombatok és vasárnapok színezése.

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

                                                                                                                                                                                          2 DataPicker kell a 2 oszlophoz (kezdés és befejezés). Mivel a dátumon kívül időpont is szükséges, azt a laphoz rendelt eseményvezérelt makróval lehetne megoldani.

                                                                                                                                                                                          delila
                                                                                                                                                                                          Felhasználó

                                                                                                                                                                                            Meg kell nézni, van-e x nevű lap az osszes.xlsx-ben. Ha nics, létre kell hozni a Sheets.Add utasítással.

                                                                                                                                                                                            `On Error Resume Next
                                                                                                                                                                                            Set a = Sheets(„x”)
                                                                                                                                                                                            If Err.Number <> 0 Then
                                                                                                                                                                                            MsgBox „Nincs ilyen”
                                                                                                                                                                                            End If
                                                                                                                                                                                            On Error Goto 0

                                                                                                                                                                                            delila
                                                                                                                                                                                            Felhasználó

                                                                                                                                                                                              Pedig megírtam, hogy az osszes.xlsx lapjairól csak azokat a sorokat törölje, amelyik füzetnek amelyik lapján lévő adatokat másolod éppen be.

                                                                                                                                                                                              A hibaüzenet fölött ki kell lépned a makróból : Exit Sub

                                                                                                                                                                                              delila
                                                                                                                                                                                              Felhasználó

                                                                                                                                                                                                Szia!

                                                                                                                                                                                                Ezzel az a baj, hogy a gyűjtő füzet lapjain mindig csak az utoljára bemásolt füzet adatai lesznek meg. A meglévő adatokat a

                                                                                                                                                                                                WSO.Range("A2:BA100000").Delete

                                                                                                                                                                                                sor törli.
                                                                                                                                                                                                Másoláskor be kellene vinni egy üres oszlopba annak a fájlnak a nevét, ahonnan másolsz, és az új másolás előtt csak ezeket a sorokat kellene törölni. A tartományt megkeresheted a Match függvénnyel.

                                                                                                                                                                                                delila
                                                                                                                                                                                                Felhasználó

                                                                                                                                                                                                  Egy másik módszer az adott könyvtárban lévő Excel fájlok tartalmának az összemásolására:

                                                                                                                                                                                                  Sub Osszemasolas()
                                                                                                                                                                                                      Dim utvonal As String, FN, lap As Integer, WSO As Worksheet, usor As Long
                                                                                                                                                                                                      
                                                                                                                                                                                                      Set WSO = ActiveWorkbook.Sheets("Munka1")   'Aktív füzet Munka1 lapja, ide gyűjtjük az adatokat
                                                                                                                                                                                                      utvonal = "D:\Mappa\"   'Útvonal, ahonnan megnyitjuk másolásra a füzeteket
                                                                                                                                                                                                      FN = Dir(utvonal & "*.xls*")
                                                                                                                                                                                                      
                                                                                                                                                                                                      Do While FN <> ""
                                                                                                                                                                                                          Workbooks.Open utvonal & FN 'A mappában lévő fájlok megnyitása
                                                                                                                                                                                                          
                                                                                                                                                                                                          'Végig megyünk a megnyitott fájl lapjain
                                                                                                                                                                                                          For lap = 1 To Sheets.Count
                                                                                                                                                                                                              usor = WSO.Range("A" & Rows.Count).End(xlUp).Row + 1    'A gyűjtő lap első üres sora
                                                                                                                                                                                                              
                                                                                                                                                                                                              'Másoljuk és beillesztjük a lapokon lévő adatokat, címsor nélkül (offset)
                                                                                                                                                                                                              'Ha feltehetően vannak üres sorok is, a CurrentRegion helyett mást kell használnunk.
                                                                                                                                                                                                              Sheets(lap).Range("A1").CurrentRegion.Offset(1).Copy WSO.Range("A" & usor)
                                                                                                                                                                                                          Next
                                                                                                                                                                                                          
                                                                                                                                                                                                          ActiveWindow.Close False 'A megnyitott fájl mentés nélküli bezárása
                                                                                                                                                                                                          FN = Dir()
                                                                                                                                                                                                      Loop
                                                                                                                                                                                                  End Sub
                                                                                                                                                                                                  delila
                                                                                                                                                                                                  Felhasználó

                                                                                                                                                                                                    Most sajnálom, hogy nincs szükségem kéményre, de neked intézek némi engedményt a képbeszúrós linkért. 🙂

                                                                                                                                                                                                    delila
                                                                                                                                                                                                    Felhasználó

                                                                                                                                                                                                      Nagyon klassz, köszönöm!

                                                                                                                                                                                                      Jelenleg még csak 3 logó képét kell ide-oda beillesztenem. A csatolt képen a bal oldali választásoktól függően összesen 12 ajánlat jelenhet meg a jobb oldalon. Ezekhez kellett beillesztenem a megfelelő logókat. Újabb cégek gyártmányainál csak felteszem a formra az új logókat.

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

                                                                                                                                                                                                        Szívesen 🙂

                                                                                                                                                                                                        delila
                                                                                                                                                                                                        Felhasználó

                                                                                                                                                                                                          Próbáld meg a kép szerint.

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

                                                                                                                                                                                                            Örülök, hogy sikerült, és különösen annak, hogy önállóan javítottad a hibát!

                                                                                                                                                                                                          100 bejegyzés megtekintése - 301-400 / 562