-
Fototrend
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
- Melyik tápegységet vegyem?
- Itt a Galaxy S26 széria: az Ultra fejlődött, a másik kettő alig
- OLED TV topic
- iPhone topik
- Kés topik
- Xiaomi 15 - kicsi telefon nagy energiával
- Samsung Galaxy S23 és S23+ - ami belül van, az számít igazán
- 18. helyet ért a Samsung Galaxy S26 Ultra kamerarendszere a DxOMarknál
- Formula-1
- VR topik
- További aktív témák...
- Xbox / Microsoft Store feltöltőkártya kód (digitális, HU) több címlet, több db, azonnal, olcsón
- Windows, Office licencek kedvező áron, egyenesen a Microsoft-tól - Automata kézbesítés utalással is!
- Game Pass Ultimate előfizetések 1 - 36 hónapig azonnali kézbesítéssel a LEGOLCSÓBBAN! AKCIÓ!
- Játékkulcsok olcsón: Steam, Uplay, GoG, Origin, Xbox, PS stb.
- Microsoft és egyéb dobozos retro szoftverek
- AKCIÓ! Acer Nitro 5 AN515-58-75F8 Gamer notebook - i7 12700H 16GB DDR4 512GB SSD RTX 3060 6GB
- Apple iPhone 12 128GB, Kártyafüggetlen, 1 Év Garanciával
- 5G Lenovo ThinkPad P14s Gen 3 Intel Core i7-1280P Nvidia T550 32GB 512GB 1 év teljeskörű garancia
- A Legújabb! Dobozos Új DELL XPS 13 9340/ULTRA 7-155H/32 GB Ram/1TB SSD/AI BOOST+INTEL ARC
- Tablet felvásárlás!! Apple iPad, iPad Mini, iPad Air, iPad Pro
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest



Fferi50