Hirdetés
- Samsung Galaxy S26 Ultra - fontossági sorrend
- Fotók, videók mobillal
- 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á
-
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.
- Eladó jogtiszta, Windows 11/10, Office 2019/2021/2024, Fizikai és Digitális licencek, Számlával.
- PC Szervizeket, Gépépítőket keresek B2B szoftver partnerségre (E-számlával)
- Számlás!Steam,EA,Epic és egyébb játékok Pc-re vagy XBox!
- Windows 10/11 Home/Pro , Office 2024 kulcsok
- 27% - Sapphire RX 9070 XT NITRO+ 16GB GDDR6 Videokártya! BeszámítOK
- Új állapotban! Lenovo ThinkPad T14 Gen 3 i5-1245/16gb ram/256 ssd FHD+ garancia
- Honor X7 128GB, Kártyafüggetlen, 1 Év Garanciával
- BESZÁMÍTÁS! MSI B450M R5 5600 16GB DDR4 512GB SSD RX 6650 XT 8GB Rampage SHIVA FSP 650W
- AKCIÓ! Lenovo Thinkpad L14 Gen 1 notebook - i5 10210U 16GB DDR4 512GB SSD Intel UHD GraphicsW11
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest



Fferi50
