Hirdetés
- Milyen házat vegyek?
- Vezeték nélküli fejhallgatók
- Kivégezheti a kisebb VGA-gyártókat az NVIDIA döntése
- Kormányok / autós szimulátorok topikja
- Fejhallgató erősítő és DAC topik
- Milyen asztali (teljes vagy fél-) gépet vegyek?
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Milyen széket vegyek?
- VR topik (Oculus Rift, stb.)
- Pánik a memóriapiacon
-
PROHARDVER!
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
- Xiaomi 15T Pro - a téma nincs lezárva
- Milyen házat vegyek?
- Okosóra és okoskiegészítő topik
- Mindenkinél több és erősebb AI gyorsítót ígér Elon Musk
- Diablo IV
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Miért vezet mindenki úgy, mint egy állat?
- Vezeték nélküli fejhallgatók
- Formula-1
- Kaspersky Antivirus és Internet Security Fórum
- További aktív témák...
- Samsung Galaxy A36 5G / 6/128GB / Kártyafüggetlen / 12Hó Garancia / Bontatlan
- BESZÁMÍTÁS! ASRock B450M R5 2600X 16GB DDR4 512GB SSD GTX 1050Ti 4GB AIGO B352A Chieftec 400W
- HIBÁTLAN iPhone 12 mini 64GB Green -1 ÉV GARANCIA - Kártyafüggetlen, MS3452,100% Akksi
- GYÖNYÖRŰ iPhone 13 mini 256GB Midnight -1 ÉV GARANCIA - Kártyafüggetlen, MS3402, 100% Akksi
- GYÖNYÖRŰ iPhone 13 256GB Pink -1 ÉV GARANCIA - Kártyafüggetlen, MS3209, 100% Akkumulátor
Állásajánlatok
Cég: BroadBit Hungary Kft.
Város: Budakeszi
Cég: Laptopműhely Bt.
Város: Budapest



Fferi50

