Hirdetés
- Redmi Note 14 5G - jól sikerült az alapmodell
- Külföldi prepaid SIM-ek itthon
- Fotók, videók mobillal
- Így spórolhat az Apple az iPhone 18 kijelzőin
- Samsung Galaxy A52s 5G - jó S-tehetség
- Xiaomi 17 Ultra - jó az optikája
- VoLTE/VoWiFi
- Nagy aksival és erős hardverrel megjött Magyarországra a Poco X8 Pro és Pro Max
- Poco X8 Pro Max - nem kell ide sem bank, sem akkubank
- One mobilszolgáltatások
-
Mobilarena
A Microsoft Excel topic célja segítséget kérni és nyújtani Excellel kapcsolatos problémákra.
Kérdés felvetése előtt olvasd el, ha még nem tetted.
Új hozzászólás Aktív témák
-
Fferi50
Topikgazda
válasz
daddy9
#45520
üzenetére
Szia!
Először a második kérdésedre a válasz:
"egy Modulban megírt SUB-ot (vagy Function-s) hogyan tudok "meghívni" a Userform egy gombjával?"
Ha általános modulban vannak az eljárásaid, akkor egyszerűen az eljárás nevét kell megadnod, de használhatod a Modulnév.Eljárásnév formát is.sub Gomb_click
eljárásnév
end sub
A fentiekből következik, hogy nem kell a Userform kódlapjára átmásolnod a modulokban levő eljárásokat, ha használni szeretnéd azokat.
Egyébként mit jelent az, hogy nem látja a SUB a bemásolt Function-t? Mi a hibaüzenet?
Üdv. -
Delila_1
veterán
válasz
daddy9
#42948
üzenetére
A tiédben sem volt.

Az aktuális oszloptól BALRA lévőt fedte fel, amit az előző lépésben elrejtettél, ha éppen üres volt a 36. sor az oszlopban.
A második feltétel abszolút felesleges volt. Azt vizsgálta, hogy az aktuális oszloptól balra lévőben van-e adat, és ha igen, felfedte, de mivel az előző ciklusban nem rejtette el, hiszen nem volt üres, semmi szükség erre a sorra a makróban.
Mi az, hogy nyisson új oszlopot? Szúrjon be az aktuális oszloptól balra egyet? Melyik esetben? Ha az aktuális üres, vagy nem? -
Delila_1
veterán
válasz
daddy9
#42944
üzenetére
Ezt a makrót modulba kellene tenni, nem eseményvezéreltbe. Bár így is jó, bármelyik cellára kattintasz, lefut.
Modulba:Sub Rejt()
Dim LastColumn, i As Integer
Application.ScreenUpdating = False
LastColumn = 27 'Last Column
For i = 5 To LastColumn 'Lopping through each Column
If Cells(36, i) = "" Then
Columns(i).EntireColumn.Hidden = True
Else
Columns(i).EntireColumn.Hidden = False
End If
Next
Application.ScreenUpdating = True
End Sub -
Delila_1
veterán
válasz
daddy9
#42788
üzenetére
Közben megadtad a választ arra, hogy ki mikor milyen oklevelet kap. Itt a módosított makró:
Sub Pdf()
Dim sor As Integer, oszlop As Integer, utvonal As String, FN As String
Application.ScreenUpdating = False
oszlop = 3
Do While Cells(4, oszlop) <> ""
utvonal = Cells(24, oszlop)
If Cells(7, oszlop) = "fiú" Then sor = 25 Else sor = 26
FN = Cells(sor, oszlop)
Sheets(Cells(sor, 1)).Select 'lapra állás
With Sheets("Adatbekérő")
Range("A7") = .Cells(6, oszlop) & ", " & .Cells(5, oszlop)
Range("A13") = .Cells(8, oszlop)
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=utvonal & FN, _
Quality:=xlQualityStandard, IgnorePrintAreas:=False, OpenAfterPublish:=False
If .Cells(9, oszlop) = "Ügyes" Then
Sheets(.Cells(sor + 1, 1)).Select 'lapra állás
If .Cells(7, oszlop) = "fiú" Then sor = sor + 2 Else sor = sor + 1
FN = .Cells(sor, oszlop)
Range("A7") = .Cells(6, oszlop) & ", " & .Cells(5, oszlop)
Range("A13") = .Cells(8, oszlop)
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=utvonal & FN, _
Quality:=xlQualityStandard, IgnorePrintAreas:=False, OpenAfterPublish:=False
End If
End With
Sheets("Adatbekérő").Select
oszlop = oszlop + 1
Loop
Application.ScreenUpdating = True
MsgBox "Az oklevelek el vannak mentve", vbInformation
End Sub -
válasz
daddy9
#42785
üzenetére
Szerintem erre a Word körlevél bőven elég, nem kell makró, meg ilyenek:
https://support.office.com/hu-hu/article/k%C3%B6rlev%C3%A9l-funkci%C3%B3-haszn%C3%A1lata-a-t%C3%B6meges-e-mailhez-levelekhez-c%C3%ADmk%C3%A9khez-%C3%A9s-bor%C3%ADt%C3%A9kokhoz-f488ed5b-b849-4c11-9cff-932c49474705 -
Fferi50
Topikgazda
válasz
daddy9
#33262
üzenetére
Szia!
Egy "szép" tömbképlet megoldja a problémádat:
=HELYETTE(JOBB(A1;HOSSZ(A1)-NAGY((KÖZÉP($A$1;SOR($A1:$A50);1)="\")*SOR($A1:$A50);2));"\";"")
A tömbképletet Ctrl+Shift+Enter billentyű kombóval lehet bevinni, a szerkesztőlécen a képletet kapcsos zárójelbe teszi az Excel maga.Ha hosszabb lenne az elérési út mint 50 betű, akkor a $A50 helyett írj nagyobb számot. Ha az elérési út végén nincs "\" ,akkor egyszerűbb a képlet (ez is tömbképlet!):
=JOBB(A1;HOSSZ(A1)-MAX((KÖZÉP($A$1;SOR($A1:$A50);1)="\")*SOR($A1:$A50)))Üdv.
Új hozzászólás Aktív témák
Hirdetés
- BestBuy ruhás topik
- Apple MacBook
- WLAN, WiFi, vezeték nélküli hálózat
- Redmi Note 14 5G - jól sikerült az alapmodell
- Külföldi prepaid SIM-ek itthon
- Fogyjunk le!
- Milyen Android TV boxot vegyek?
- Hogyan verte le egy telefon chip az egész laptop ipart? – x86 vs ARM
- Vezetékes FEJhallgatók
- Fotók, videók mobillal
- További aktív témák...
- Microsoft Office 2024 Home Business dobozos
- Game Pass Ultimate előfizetések 3 - 36 hónapig azonnali kézbesítéssel! 13 hónap ultimate - 50.000 ft
- Windows, Office licencek kedvező áron, egyenesen a Microsoft-tól - Automata kézbesítés utalással is!
- Játékkulcsok olcsón: Steam, Uplay, GoG, EA, Xbox stb.
- Számlás!Steam,EA,Epic és egyébb játékok Pc-re vagy XBox!
- HP Omen 17 QHD 240Hz / RTX 4090 / i7-13700HX / 32GB DDR5 / 1TB SSD! BeszámíTOK
- SK Hynix, Samsung és más 16GB DDR4 so dimm 3200MHz modulok számlával, 6 hó garanciával
- ÁRGARANCIA!Épített KomPhone i5 14600KF 32/64GB RAM RX 9070 16GB GAMER PC termékbeszámítással
- GYÖNYÖRŰ iPhone 14 Pro 128GB Space Black -1 ÉV GARANCIA - Kártyafüggetlen, MS4022
- Apple iPhone 13 Pro Max 128GB Graphite Megkímélt állapot 100% akkumulátor
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest


Fferi50
