- Hívószám-hamisítás
- Motorola Razr 60 Ultra - ez a kagyló könnyen megfő
- Milyen okostelefont vegyek?
- Android alkalmazások - szoftver kibeszélő topik
- Honor 200 Pro - mobilportré
- Motorola Edge 50 Neo - az egyensúly gyengesége
- Samsung Galaxy Watch7 - kötelező kör
- Samsung Galaxy A53 5G - kevesebbet többért
- Netfone
- Poco F6 5G - Turbó Rudi
-
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
Hirdetés
- Akciós Windows 10 pro + Office 2019 professional plus csomag AZONNALI SZÁLLÍTÁS
- Apple iPhone SE 2020 64GB Kártyafüggetlen 1Év Garanciával
- LG 27GR95QE - 27" OLED / QHD 2K / 240Hz & 0.03ms / NVIDIA G-Sync / FreeSync Premium / HDMI 2.1
- Bomba ár! Lenovo ThinkPad X260 - i5-6G I 8GB I 256GB SSD I 12,5" HD I HDMI I CAM I W10 I Gari!
- QNAP TS-870U-RP 8 lemezes Rack NAS
Állásajánlatok
Cég: PC Trade Systems Kft.
Város: Szeged
Cég: Promenade Publishing House Kft.
Város: Budapest