Hirdetés
- Samsung Galaxy S23 és S23+ - ami belül van, az számít igazán
- CMF Phone 1 - egy jó telefon
- Külföldi prepaid SIM-ek itthon
- Milyen okostelefont vegyek?
- iPhone topik
- Xiaomi 15 - kicsi telefon nagy energiával
- Xiaomi 14 - párátlanul jó lehetne
- Poco X6 Pro - ötös alá
- Samsung Galaxy S26 Ultra - fontossági sorrend
- Vivo X300 Pro – messzebbre lát, mint ameddig bírja
-
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
Az előző leírásaidból számomra nem derült ki, hogy a háttereket akarod kifesteni, és az sem, hogy a C: D oszlopok értékadására is dátum-beírással reagáljon a program. Azt gondoltam, ez a két oszlop csak a színezésre szolgál, mármint a progi szempontjából.
Ímé a legújabb változat, a legújabb óhajok szerint (az előzőek helyett).
Sub Worksheet_Change(ByVal Target As Excel.Range)
sor = Target.Row: oszlop = Target.Column
If oszlop = 1 Then Exit Sub
If oszlop = 3 Or oszlop = 4 Then
Range(Cells(sor, 1), Cells(sor, 13)).Select
If Target.Value = "alma" Then Selection.Interior.ColorIndex = 3
If Target.Value = "körte" Then Selection.Interior.ColorIndex = 5
End If
Cells(sor, oszlop).Select
Cells(sor, 1).Select
Selection.Formula = "=TODAY()"
Selection.Copy
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
End Sub -
Delila_1
veterán
Akkor ezt a makrót másold be:
Sub Worksheet_Change(ByVal Target As Excel.Range)
sor = Target.Row: oszlop = Target.Column
If oszlop = 2 Or oszlop > 4 Then
Cells(Target.Row, 1).Select
Selection.Formula = "=TODAY()"
Selection.Copy
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Application.CutCopyMode = False
Exit Sub
End If
If oszlop = 3 Or oszlop = 4 Then
Range(Cells(sor, 1), Cells(sor, 13)).Select
If Target.Value = "alma" Then Selection.Font.ColorIndex = 3
If Target.Value = "körte" Then Selection.Font.ColorIndex = 5
End If
Cells(sor, oszlop).Select
End SubNem tudom, le vannak-e írva a színkódok, viszont van egy kis makróm, ami kiírja az aktuális cella karakter- és háttér színét:
Sub Szín_lekérdezés()
If Selection.Font.ColorIndex = -4105 Then
MsgBox "A karakter színkódja: " & Selection.Font.ColorIndex & " (automatikus)"
Else
MsgBox "A karakter színkódja: " & Selection.Font.ColorIndex & " "
End If
If Selection.Interior.ColorIndex = -4142 Then
MsgBox "A cella hátterének színkódja: " & Selection.Interior.ColorIndex & " (átlátszó)"
Else
MsgBox "A cella hátterének színkódja: " & Selection.Interior.ColorIndex & " "
End If
End SubEzt nem a laphoz kell rendelni, hanem a VBA szerkesztőben az Insert/Module menüponttal új modult kell létrehozni, és erre az új lapra másolni.
-
Delila_1
veterán
Az első kérdésed megoldásához az alábbi makrót másold be a laphoz (lapfülön jobb klikk, a gyorsmenüből a "Kód megjelenítése" menüpontot választva a VBA szerkesztőjében jobb oldalon kapsz egy üres lapot, oda):
Sub Worksheet_Change(ByVal Target As Excel.Range)
If Target.Column > 1 Then
Cells(Target.Row, 1).Select
Selection.Formula = "=TODAY()"
Selection.Copy
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
End If
Application.CutCopyMode = False
End SubA második kérdéshez nem írtad, hogy ugyanazon a lapon akarod-e alkalmazni, ahol az előbbit. Én másik laphoz írtam hozzá makrót, amit ugyanúgy másolj be a másik lap kódlapjához, mint az előzőt. A makró az F oszlop változását figyeli (IFoszlop=6), és két értékre színezi az egész aktuális sort (target.value="alma" –> piros karakter, target.value="körte" –> kék karakter). Az oszlopba érdemes a két választható választ előre megadni az Adatok/Érvényesítés/Beállítások fül/Lista, a Forráshoz alma; körte.
Sub Worksheet_Change(ByVal Target As Excel.Range)
sor = Target.Row: oszlop = Target.Column
If oszlop = 6 And Target.Value = "alma" Then
Rows(Target.Row & ":" & Target.Row).Select
Selection.Font.ColorIndex = 3
End If
If oszlop = 6 And Target.Value = "körte" Then
Rows(Target.Row & ":" & Target.Row).Select
Selection.Font.ColorIndex = 5
End If
Cells(sor, oszlop).Select
End Sub -
Delila_1
veterán
-
Delila_1
veterán
Mert így van megírva

Szerinted előre be kellene írnia a képleteket a még ki nem töltött sorokba is?
Nézd meg a fájl méretét, azután húzd le a képletet jó hosszan, mentsd el, és megint nézd meg a méretét. A képletek sok helyet foglalnak el, de minek is kellenének előre, ha még nincs mit számolniuk?
-
-
-
Delila_1
veterán
A HA függvénynél a zárójel után a feltételt kell megadni, az első ; után azt, hogy mi történjen, ha igaznak bizonyul a feltétel, az újabb ; után pedig azt, hogy mi legyen hamis eredmény esetén.
Itt most két feltételnek is teljesülnie kell, nevezetesen az E7-nek és az E8-nak is valamilyen értéket kell képviselnie ahhoz, hogy a kivonást el lehessen végezni.
A HA függvényt ezért kombináljuk egy ÉS függvénnyel.Az ÉS függvénybe ;-vel elválasztva írjuk be a feltételeket.
<>"" azt jelenti, hogy nem egyenlő üres stringgel.=ha(és(E7<>"";E8<>"");E7-E8;"")
Ú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.
- Vírusirtó, Antivirus, VPN kulcsok GARANCIÁVAL!
- Játékkulcsok ! : PC Steam, EA App, Ubisoft, Windows és egyéb játékok
- Eladó jogtiszta, Windows 11/10, Office 2019/2021/2024, Fizikai és Digitális licencek, Számlával.
- Windows 10 11 Pro Office 19 21 Pro Plus Retail kulcs 1 PC Mac AKCIÓ! Automatikus 0-24
- LG UltraGear 32G810SA-W 4K AI Monitor! 3840x2160 / 144Hz / 1ms / G-Sync / FreeSync! BeszámítOK
- 27% - MSI MAG CORELIQUID 240R V2 AIO vízhűtés!
- Lenovo ThinkPad L14 Gen 1 Ryzen 5 pro 4650U, 16GB RAM, 256-512GB SSD, jó akku, számla, gar
- 27% - ASUS Hyper M. 2 X16 V2 4X M. 2 PCI-e SSD Beépítõ Kártya!
- LENOVO L13 Yoga 360 touch - 13,3" - i5 10210U, 8GB RAM, SSD, jó akku, - számla, 6 hó gar
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest



Fferi50
