- Luck Dragon: Asszociációs játék. :)
- sziku69: Szólánc.
- sziku69: Fűzzük össze a szavakat :)
- gban: Ingyen kellene, de tegnapra
- ubyegon2: Airfryer XL XXL forrólevegős sütő gyakorlati tanácsok, ötletek, receptek
- Magga: PLEX: multimédia az egész lakásban
- Sgr_A: Számítógépeim aktualizálása cseréje
- Geri Bátyó: Agglegénykonyha 2 – Főzés: szabályok, vagy szabadság?
- Imilenni: Egy kis depi, remélem elfér itt :) 2#
- Gurulunk, WAZE?!
-
LOGOUT
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
-
Mutt
senior tag
válasz
csongi #27684 üzenetére
Hello,
...egy adott cellába, legyen egy képlet, de ha kézzel beleírok akkor a beírt érték legyen, viszont ne vesszen el a képlet sem....
Van egy kevésbé használt függvény az S (angolul N), ami ha szöveget kap értéknek, akkor nem számol vele.
pl. =N("komment") értéke 0 és ezek után =2+N("komment") cella értéke is 2 lesz.Ez a függvény jön itt nekünk segítségre, mivel a cella képletét ebbe a függvénybe elrejtjük.
A lenti makróval első lépésként megjegyezzük a cella tartalmát és képletét ha van a Worksheet_SelectionChange eseménnyel. Az egyszerűség kedvéért csak akkor tesszük, ha egyszerre 1 cella van módosítva.
A második lépésben ha a változik vmi a lapon, akkor a Worksheet_Change esemény lép akcióba és attól függően, hogy volt-e képlet vagy sem, esetleg töröltük a cella bedobja ami kell éppen.
A kód nem tökéletes, iránymutatásnak szántam.
Option Explicit
Dim KepletVanBenne As Boolean
Dim Tartalom As String
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
KepletVanBenne = False
Tartalom = ""
If Target.Cells.Count = 1 Then 'egyszerűség kedvéért csak 1 cellára dolgozunk
KepletVanBenne = Target.HasFormula 'megnézzük hogy van-e képlet a cellában
If KepletVanBenne Then Tartalom = Target.FormulaLocal 'elmentjük a képletet egy változóba
End If
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
Dim EredetiKeplet
Dim Keresni As String
'Excel nyelvének megállapítása
If Application.LanguageSettings.LanguageID(msoLanguageIDUI) = 1038 Then
Keresni = "+S("
Else
Keresni = "+N("
End If
If Target.Cells.Count = 1 Then 'egyszerűség kedvéért csak 1 cellára dolgozunk
'ha az új cella konstans akkor mögétesszük a képletet, ha volt korábban
If Not Target.HasFormula Then
'megnézzük hogy a korábban volt-e képlet a cellában, ha igen akkor kinyerjük az eredeti képletet onnan
EredetiKeplet = Split(Tartalom, Keresni) 'bízunk benne, hogy nincs a cellában +N( kifejezés más indok miatt
If IsArray(EredetiKeplet) And UBound(EredetiKeplet) > 0 Then
'itt kicsit formázni kell mivel vmi ilyet kapunk vissza "=A1"), de nekünk csak =A1 kell
Tartalom = Mid(EredetiKeplet(1), 2, Len(EredetiKeplet(1)) - 3)
End If
'ha törlik a cella tartalmát, akkor berakuk az eredeti képletet
If Target.Value = "" Then
Target.FormulaLocal = Tartalom
Else
Target.Formula = "=" & Target.Value & "+N(""" & Tartalom & """)" 'az új cellatartalom az lesz, hogy bevitt érték + korábbi formula
End If
End If
End If
End Subüdv.
Új hozzászólás Aktív témák
- NVIDIA GeForce RTX 5080 / 5090 (GB203 / 202)
- Futás, futópályák
- Sütés, főzés és konyhai praktikák
- Luck Dragon: Asszociációs játék. :)
- A fociról könnyedén, egy baráti társaságban
- sziku69: Szólánc.
- Sweet.tv - internetes TV
- Milyen billentyűzetet vegyek?
- Kormányok / autós szimulátorok topikja
- PlayStation 5
- További aktív témák...
- Windows 10 11 Pro Office 19 21 Pro Plus Retail kulcs 1 PC Mac AKCIÓ! Automatikus 0-24
- Windows 10 11 Pro Office 19 21 Pro Plus Retail kulcs 1 PC Mac AKCIÓ! Automatikus 0-24
- Windows 10/11 Home/Pro , Office 2024 kulcsok
- Kaspersky, BitDefender, Avast és egyéb vírusírtó licencek a legolcsóbban, egyenesen a gyártóktól!
- Adobe Előfizetések - Adobe Creative Cloud All Apps - 12 Hónap
- Xiaomi Redmi 12C 64GB, Kártyafüggetlen, 1 Év Garanciával
- Designer 4K Monitor - BenQ PD-2700-U
- Bomba ár! Lenovo ThinkPad T15 G1 - i7-10GEN I 16GB I 512GB SSD I 15,6" FHD I Cam I W11 I Gari!
- Azonnali A320 B350 X370 B450 X470 A520 B550 X570 chipset alaplap felvásárlás személyes/csomagküldés
- Telefon felvásárlás!! iPhone X/iPhone Xs/iPhone XR/iPhone Xs Max
Állásajánlatok
Cég: CAMERA-PRO Hungary Kft.
Város: Budapest