- Samsung Galaxy Watch6 Classic - tekerd!
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- Poco F3 - a mindenes, de nem mindenkinek
- Honor Magic V5 - méret a kamera mögött
- Samsung Galaxy Z Fold7 - ezt vártuk, de…
- Yettel topik
- Samsung Galaxy A52s 5G - jó S-tehetség
- 165 Hz-es panelt tesztel a OnePlus
- Szuperkijelzővel készül a Huawei Mate 80 RS
- Hat év támogatást csomagolt fém házba a OnePlus Nord 4
-
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
- Eredeti Microsoft termékek - MEGA Akciók! Windows, Office Pro Plus, Project Pro, Visio Pro stb.
- Kaspersky, BitDefender, Avast és egyéb vírusírtó licencek a legolcsóbban, egyenesen a gyártóktól!
- Jogtiszta Windows - Office & Vírusirtó licencek- Azonnal - Számlával - Garanciával - Nint.hu
- Windows, Office licencek kedvező áron, egyenesen a Microsoft-tól - Automata kézbesítés utalással is!
- Windows 10 11 Pro Office 19 21 Pro Plus Retail kulcs 1 PC Mac AKCIÓ! Automatikus 0-24
- LG 49SE3KE-B 49" Full HD LED monitor
- GYÖNYÖRŰ iPhone 12 64GB Green -1 ÉV GARANCIA - Kártyafüggetlen, MS3052, 96% Akkumulátor
- Azonnali készpénzes nVidia RTX 3000 sorozat videokártya felvásárlás személyesen / csomagküldéssel
- Panasonic CF-XZ6 AIO all-in-one laptop tablet 2k touch i5-7300u speciális ütésálló rugged
- iPhone 13 mini 128GB Green -1 ÉV GARANCIA - Kártyafüggetlen, MS3088
Állásajánlatok
Cég: FOTC
Város: Budapest