- Okosóra és okoskiegészítő topik
- Egyéves Gemini AI Pro a Google-től a magyar egyetemistáknak is
- Poco F7 – bajnokesélyes
- A ZTE sem maradt adós csúcstelefonnal
- Bemutatkozott a Poco X7 és X7 Pro
- Milyen okostelefont vegyek?
- Azonnali navigációs kérdések órája
- Huawei Watch GT 6 és GT 6 Pro duplateszt
- Samsung Galaxy Watch7 - kötelező kör
- Samsung Galaxy Z Fold7 - ezt vártuk, de…
-
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
-
Delila_1
veterán
válasz
FehérHolló
#3633
üzenetére
Kipróbáltam. Ha meghagyod az eredeti Range("I" & Target.Columns).Select-et a
Cells(Target.Row, 9).Select helyett, akkor hiba nélkül működik.Akkor most véletlenül kiderült, hogy a formai különbségnek látszó eltérés a működésben is mást eredményt ad.
Jó szórakozást!
-
Delila_1
veterán
válasz
FehérHolló
#3628
üzenetére
Itt egy kis makró, ami a fájl bezárásakor rákérdez a rendezésre (I oszlop szerint):
Sub auto_close()
If MsgBox("Akarod rendezni mentés előtt az adatokat?", vbYesNo) = vbYes Then
Range("I2").Select
Selection.Sort Key1:=Range("I2"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
End If
ActiveWorkbook.Save
End SubFontos, hogy auto_close legyen a neve, mert akkor automatikusan végrehajtódik záráskor.
Ha még ugyanarról a fájlról van szó, amelyikben B:G oszlopokban van adat, és I-be íródik a dátum, akkor gondoskodni kell a H oszlop kitöltéséről, hogy a rendezésbe belevegye az előző oszlopokat is. Ha üres oszlop van közöttük, csak az I oszlopot rendezi.
A H-ba, ha egyébként nem lenne ott adat, a targetes makróval íratunk egy pontot. Az
If (Target.Column >1 kezdetű sor után írd be:
Cells(8,Target.Column)="."Ha nincs fejléced, a Header:=xlGuess-t javítsd át Header:=xlNo-ra.
-
Delila_1
veterán
válasz
FehérHolló
#3626
üzenetére
Látom, egy kulcs szerint akarsz rendezni. Szerintem sem érdemes makrót futtatni, a kulcsot képező oszlopban állva egyetlen kattintás, és kész, ki sem kell jelölni a táblát.
Legfeljebb zárás előtt egy inputboxban (vagy msgboxban) rákérdezel, hogy akar-e rendezni, és igen esetén egyszer lefuttatni. -
lapa
veterán
válasz
FehérHolló
#3626
üzenetére
próbáld meg kétdimenziós tömbbe (array) rakni, korábban volt róla szó. utána azon futhat le a két for-next. nagyjából két nagyságrenddel meggyorsítja.
-
Delila_1
veterán
válasz
FehérHolló
#3619
üzenetére
Függvény nincs rá, rögzíts makróban egy sorbarendezést, és azt vesézd ki.
-
FehérHolló
veterán
válasz
FehérHolló
#3617
üzenetére
Megoldva. Cells(CurrRow, CurrCol).Select.

(Változóknak van érték adva.)Sorba rendezés milyen függvénnyel megy? Kezdek belemelegedni.

-
Delila_1
veterán
válasz
FehérHolló
#3614
üzenetére
A #3600-nál azt mondtad, hogy tökéletesen működik. Másik gépen nem megy?
-
Delila_1
veterán
válasz
FehérHolló
#3614
üzenetére
A "Nem tudom"-ot? Nagyon szívesen, máskor is.

-
Delila_1
veterán
válasz
FehérHolló
#3611
üzenetére
Nem tudom.

-
Delila_1
veterán
válasz
FehérHolló
#3602
üzenetére
Az Eszközök/Bővítménykezelőben kapcsold be az Analysis ToolPak-ot és az Analysis ToolPak-VBA-t. Az első egy halom új függvényt ad, amiket a munkalapodon alkalmazhatsz, a másik ugyanezt adja a VBA felületen, amiktől értelmezhetővé válnak a makrók utasításai az Excel számára.
-
Delila_1
veterán
válasz
FehérHolló
#3600
üzenetére
Szívesen.
-
Delila_1
veterán
válasz
FehérHolló
#3597
üzenetére
Ez, a laphoz rendelve azt csinálja.
Sub Worksheet_Change(ByVal Target As Excel.Range)
If (Target.Column > 1 And Target.Column < 8) Then
Range("I" & Target.Row).Select
ActiveCell.FormulaR1C1 = "= TODAY()"
Selection.Copy
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone
Application.CutCopyMode = False
End If
End Sub -
Delila_1
veterán
válasz
FehérHolló
#3577
üzenetére
Sub Worksheet_Change(ByVal Target As Excel.Range)
If (Target.Column > 3 And Target.Column < 8 And Target.Row < 11) Then
Range("A1").Select
ActiveCell.FormulaR1C1 = "= TODAY()"
Selection.Copy
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone
Application.CutCopyMode = False
End If
End SubEz a kis makró a munkalaphoz rendelve (lapfülön jobb klikk, kód megjelenítése, VBE-ben a jobb oldalon kapott üres lapra másolva) azt csinálja, hogy ha a D1:G10 tartományban módosul az adat, az A1-be beírja az aktuális dátumot a MA() függvénnyel, és rögtön át is írja a függvényt az értékére.
-
Delila_1
veterán
válasz
FehérHolló
#3577
üzenetére
Targettel kellene megoldani, a laphoz rendelt makróval.
Új hozzászólás Aktív témák
- Meghalt a Windows 10, éljen a Windows 10!
- Milyen asztali (teljes vagy fél-) gépet vegyek?
- AliExpress tapasztalatok
- Okosóra és okoskiegészítő topik
- Egyéves Gemini AI Pro a Google-től a magyar egyetemistáknak is
- Milyen videókártyát?
- Magga: PLEX: multimédia az egész lakásban
- Kodi és kiegészítői magyar nyelvű online tartalmakhoz (Linux, Windows)
- Xbox Series X|S
- Poco F7 – bajnokesélyes
- További aktív témák...
- Playstation 4 Pro 1 TB + kontroller 6 hó garancia, számlával!
- Új Asus 18 ROG WQXGA MiniLED 240Hz G-Sync i9-14900HX 32GB 2TB SSD Nvidia RTX 4090 16GB 175W Garancia
- HIBÁTLAN iPhone 12 Pro Max 128GB Silver -1 ÉV GARANCIA - Kártyafüggetlen, MS3703, 100% Akkumulátor
- Bomba ár! Lenovo ThinkPad L490 - i5-G8 I 16GB I 256SSD I 14" FHD Touch I HDMI I Cam I W11 I Gari!
- Bomba ár! Lenovo ThinkPad T460s - i5-6GEN I 8GB I 128GB SSD I 14" FHD I Cam I W10 I Garancia!
Állásajánlatok
Cég: NetGo.hu Kft.
Város: Gödöllő
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest




Fferi50

