Hirdetés
- Luck Dragon: Asszociációs játék. :)
- sziku69: Szólánc.
- sziku69: Fűzzük össze a szavakat :)
- GoodSpeed: Márkaváltás sok-sok év után
- bb0t: Ikea PAX gardrób és a pokol logisztikája
- ubyegon2: Airfryer XL XXL forrólevegős sütő gyakorlati tanácsok, ötletek, receptek
- f(x)=exp(x): A laposföld elmebaj: Vissza a jövőbe!
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Sub-ZeRo: Euro Truck Simulator 2 & American Truck Simulator 1 (esetleg 2 majd, ha lesz) :)
- eBay-es kütyük kis pénzért
-
LOGOUT
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
- Folyószámla, bankszámla, bankváltás, külföldi kártyahasználat
- Autós topik
- Mindenkinél több és erősebb AI gyorsítót ígér Elon Musk
- Samsung kuponkunyeráló
- Házimozi belépő szinten
- Feketelista, avagy a rossz boltok topicja
- Xiaomi Mi 9 - egy híján
- LEGO klub
- PlayStation 5
- Soundbar, soundplate, hangprojektor
- További aktív témák...
- Xiaomi Redmi Note 11 Pro / 6/128GB / Kártyafüggetlen / 12Hó Garancia
- Bontatlan iPhone 16 Pro (128 GB) (rendelhető)
- Apple iPhone 16 - Black - 128GB - Akku: 100% - ÚJ - BONTATLAN - 1 ÉV APPLE JÓTÁLLÁS - FÜGGETLEN
- ÁRGARANCIA!Épített KomPhone Ryzen 5 7500F 32/64GB RAM RTX 5060 Ti 8GB GAMER PC termékbeszámítással
- LG 27GR83Q-B - 27" IPS / QHD 2K / 240Hz & 1ms / NVIDIA G-Sync / FreeSync / DisplayHDR 400
Állásajánlatok
Cég: ATW Internet Kft.
Város: Budapest
Cég: BroadBit Hungary Kft.
Város: Budakeszi


Fferi50
