Hirdetés
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- sziku69: Szólánc.
- btz: Internet fejlesztés országosan!
- Graphics: Telefonvásárlási kálváriám....avagy clickbait cím: Horror a hardveraprón
- Luck Dragon: Asszociációs játék. :)
- sziku69: Fűzzük össze a szavakat :)
- Luck Dragon: MárkaLánc
- MasterDeeJay: ASRock B250M Pro4 coffeetime mod! (DDR4)
- ricsi99: 6. Genes alaplap tündöklése kontra MS/Zintel korlátozásai
- Elektromos rásegítésű kerékpárok
-
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
-
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
Hirdetés
- Windows 10/11 Home/Pro , Office 2024 kulcsok
- The Elder Scrolls Online Imperial Collector s Edition
- Game Pass Ultimate előfizetések 3 - 36 hónapig azonnali kézbesítéssel! 13 hónap ultimate - 50.000 ft
- Kaspersky, BitDefender, Avast és egyéb vírusírtó licencek a legolcsóbban, egyenesen a gyártóktól!
- PC Szervizeket, Gépépítőket keresek B2B szoftver partnerségre (E-számlával)
- PlayStation 5 Slim (lemezes) + kontroller 2027.12.23-ig garancia, számlával!
- HIBÁTLAN iPhone SE 2020 64GB Black-1 ÉV GARANCIA - Kártyafüggetlen, MS4001
- Eredeti Lenovo 330W töltők - ADL330SDC3A
- Powerbank Anker Prime, 20100mAh, 220W, QC + PD, Fekete A110BH11
- LG SMART 32SR50F-W IPS Monitor! 1920x1080 / 8ms / 60hz
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest



Fferi50