-
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
-
Fferi50
Topikgazda
válasz
friccccc #50135 üzenetére
Szia!
"Nekem az OK ra kellene az idő. De nem ismeri fel.... Ha kézzel beírom a cellába akkor jó....."
Meg tudnád mutatni azt a függvényt, ami az OK-t beírja az adott cellába?
Egyáltalán, bekerül a cellába az OK érték? Szövegként kerül be? Lépésenként futtatva ellenőrizted a cella tartalmát? Képet esetleg mutatnál róla?
Üdv. -
Lasersailing
senior tag
válasz
friccccc #46499 üzenetére
Nem az a gond, hogy pl. "A" file D1 cellájából másolsz "B" file A1-es cellájába?
A fenti példában a D1-es cellában lévő hivatkozás az előző oszlopra hivatkozik, amit meg tud tenni, mert ez a C1, de ha pl. az A oszlopba másolsz, akkor az már az A előtti oszlopba akar másolni, amit nem tud értelmezni.
Remélem sikerült érthetően leírnom, hogy mire gondolok... -
Fferi50
Topikgazda
válasz
friccccc #46204 üzenetére
Szia!
Még valami. A szövegdaraboló varázslóval másik megoldás is lehetséges:
Ha nem a tagolt, hanem a fix széles opciót választod az első párbeszéd panelen, akkor a következőn áthelyezheted vagy megszüntetheted a törésvonalakat:
helyett akár így is csinálhatod:
Ezután a következő panelen csak 3 oszloppal van dolgod:
Üdv. -
Fferi50
Topikgazda
válasz
friccccc #46204 üzenetére
Szia!
Ez valami egyéni formátum?
Adatok - szövegből oszlopok - tagolt - a következő panelen kijelölöd a szóközt.
Ezután a következő panelen meglátod a felosztást. Oszloponként bejelölheted a formátumot, ami nem szükséges, arra az oszlop kihagyása (átlépése) mezőt jelölöd be:
Itt csak a Nov tartalmazó oszlopot hagyod meg, bejelölöd rendeltetési helynek a B1 cellát.
Befejezés és kész.
Ezt megteheted egyszerre az egész A oszlopoddal, egyben kijelölöd az értékeket és végigcsinálod a műveleteket.
Üdv. -
Fferi50
Topikgazda
válasz
friccccc #39924 üzenetére
Szia!
Az Application.EnableEvents tulajdonság kapcsolja az eseménykezelést. False érték esetén nem fut rá az eseménykezelésekre, True esetén végrehajtódnak az eseménykezlésben levő parancsok.
Miután a 3. sorban kikapcsolod az eseménykezelést, nem hajtódik végre a Worksheet_Change eseménykezelő.
Ha ezt a sort kihagyod, működni fog.
Persze lehet, hogy más miatt ki kell kapcsolnod. Ezt teszteld le légy szíves.Üdv.
-
ny.janos
tag
válasz
friccccc #39768 üzenetére
Szia!
Ha csak egyszer van szükséged a színek módosítására, nem pedig visszatérően, akkor ehhez nem szükséges makró. Beszúrsz egy segédoszlopot, majd bekapcsolod az autoszűrőt. Szűrsz a jelöletlen hátterű sorokra, a segédoszlopodba beírsz egy tetszőleges értéket, másolod az utolsó sorig. A szűrést törlöd, majd a segédoszlopban az üres értékekre szűrsz. A színezett celláidat átszínezed, majd törlöd a segédoszlopod.
Leírni szerintem tovább tartott, mint megcsinálni. -
Delila_1
veterán
válasz
friccccc #39768 üzenetére
Kijelölöd a tartományt, és indítod a makrót.
A
For Each CV In Selection
sorban a Selection helyett megadhatod a tartományt, pl. Range("A5:C30") módon, ekkor nem kell előre kijelölnöd a tartományt.Sub Egyszin()
Dim CV As Range
For Each CV In Selection
If CV.Interior.ColorIndex <> -4142 Then
CV.Interior.Color = vbYellow
End If
Next
End Sub -
Fferi50
Topikgazda
válasz
friccccc #39267 üzenetére
Szia!
Excel függvénnyel szerintem ez nem megy.
VBA-ban mindenképpen a Worksheet_Change esemény kezelésébe kell beletenni:
Ha képlet változtatja a D1 cella értékét, akkor kell megnézni, ha a képleten szereplő "előd" cellák értéke változott - itt az A1 és B1 cellák változásakor vizsgáljuk a D1 értékét:Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("A1:B1")) Is Nothing Then Exit Sub
Application.EnableEvents = False
If Range("D1").Value = "OK" Then Range("E1").Value = Range("E1").Value + 1
Application.EnableEvents = True
End Sub
Természetesen ha más cellák értékétől függ a D1 cella értéke, akkor azon cellák címeit kell ide írnod a Range("A11") helyett. Több cellát, nem összefüggő tartományt vesszővel elválasztva írhatsz a Range(…. ) címeként.
Ha makróval írod be az OK-t a D1 cellába, akkor a beírással egyidejüleg növeled az E1 cella értékét.If feltételed then Range("D1").Value="OK":Range("E1").Value=Range("E1").Value+1
Feltételed helyére írod a saját feltételed.Üdv.
-
Fferi50
Topikgazda
-
Fferi50
Topikgazda
válasz
friccccc #39193 üzenetére
Szia!
Az Error 2007 a nullával való osztási kísérlet miatt van. Ha a CS10 cella képletéhez tartozó területen jogosan nincs még adat, akkor hibakezeléssel tudod a problémát kezelni:
If Iserror(Range("CS10") Then
Range("CS7").Value = 1 'ide azt az értéket írd, amit a cellában ebben az esetben látni szeretnél.
Else
If Range("CS10").Value > Range("T3").Value And Range("CW10").Value < 1.5 Then Range("CS7").Value = 1
End IfPersze meg kell még nézned, hogy a többi cellában. amit használsz a feltételekben, milyen értékek szerepelnek.
Üdv.
-
Fferi50
Topikgazda
válasz
friccccc #39173 üzenetére
Szia!
Csak VBA-ban tudod megcsinálni. Egy cella értékét beállítod mondjuk 0-ra, ez lesz a jelzőcella.
A makró megnézi, hogy A1 értéke nagyobb-e mint B1 értéke. Ha igen, a jelzőcella értékét átállítja 1 -re, ha nem akkor a jelzőcella értéke marad változatlan.
Ezzel a módszerrel a jelzőcella mutatja, hogy volt már nagyobb érték. Ha azt is meg szeretnéd tudni, hányszor, akkor a jelzőcella értékét minden alkalommal növelni kell eggyel, amikor a feltétel teljesül.
Vázlatosan:If Range("A1").Value>Range("B1'").Value Then Range("C1").Value =1 (vagy a második esetben Range("C1").Value=Range("C1").Value+1
Mivel a feltétel nem teljesülése esetén nem kell hozzányúlni a cella értékéhez (sőt tilos), ezért nem egy sorban lehet rendezni a vizsgálatot és az értékadást.
Természetesen a jelzőcellába más értéket is írhatsz a feltétel teljesülése esetén.Üdv.
-
Fferi50
Topikgazda
válasz
friccccc #38941 üzenetére
Szia!
Akkor nem tudom, mitől indul el.
Ja, hát látom, van benne kismillió Modul, akkor ott lehet az eb elhantolva. Ha nem lehet nyilvános, tedd fel valahova és küldd el a linket priviben.
Mert sajnos látatlanban egyáltalán nem tudok rá mit mondani - de szerintem mások sem.Üdv.
-
Fferi50
Topikgazda
-
Fferi50
Topikgazda
válasz
friccccc #38928 üzenetére
Szia!
"Nekem 3 munkalapon kellene, hogy egyszerre menjen külön-külön a VBA program."
Na ezt nem tudom hogyan lehet, hogy egyszerre és külön-külön is menjen...
A makrók csak egymás után tudnak futni... illetve egymásba ágyazás (azaz egyik hívja a másikat) lehetséges több szinten is.
Ez így elég homályos, amit írtál.
Mi alapján induljon el a futás? Valamilyen eseményre? Esetleg teszel fel egy parancsgombot és arra induljon?
"mindegyiken (függetlenül egymástól) szeretnék futtatni VBA makrókat."
Akkor miért baj, ha csak akkor fut le a makró, ha a munkalap aktív?
Ha ezt nem így szeretnéd, akkor Modulba kell rakni a makrókat, akkor nem kell, hogy aktív legyen az a munkalap, amire a makró hivatkozik. Viszont akkor pontosan kell "címezni" a feladatokat és az utasításokat.Talán ha tennél fel egy mintát, többet tudnánk neked segíteni.
Üdv.
-
Fferi50
Topikgazda
válasz
friccccc #38919 üzenetére
Szia!
Nagyon jól teszik hogy csak az aktív munkalapon működnek, mert a Private programok csak azon a munkalapon használhatók, amelyek kódlapjára írva vannak.
Ilyen pl. az eseménykezelés, ezt nem is tanácsos közössé tenni (kivéve a később írt lehetőséget).Ha máshonnan is szeretnéd futtatni a programot, akkor Modulba kell tenni, vagy Public -ként létrehozni.
(javaslat VBA súgó).Munkalapok eseménykezelőjét - amennyiben egyforma vagy hasonló funkciót látnak el - be lehet tenni a Thisworkbook kódlapjára a Sheet -tel kezdődő eseménykezelőkbe. Itt az sh változó megmondja, hogy melyik munkalapon generálódott az adott esemény, ez alapján el tudod dönteni, mi legyen a következő lépés.
Üdv.
Új hozzászólás Aktív témák
Hirdetés
- Gyúrósok ide!
- Autós topik
- Teljes verziós játékok letöltése ingyen
- Azonnali alaplapos kérdések órája
- Ilyen lesz a Fairphone 6
- Íme az új Android Auto!
- hdanesz: Hyundai Ioniq 28kWh - Első benyomások - második felvonás
- Audi, Cupra, Seat, Skoda, Volkswagen topik
- eMAG vélemények - tapasztalatok
- Milyen NAS-t vegyek?
- További aktív témák...
- Játékkulcsok olcsón: Steam, Uplay, GoG, Origin, Xbox, PS stb.
- Számlás!Steam,EA,Epic és egyébb játékok Pc-re vagy XBox!
- Kaspersky, McAfee, Norton, Avast és egyéb vírusírtó licencek a legolcsóbban, egyenesen a gyártóktól!
- Windows 10/11 Home/Pro , Office 2024 kulcsok
- Eredeti Microsoft termékek - MEGA Akciók! Windows, Office Pro Plus, Project Pro, Visio Pro stb.
- BESZÁMÍTÁS! Apple iMac Pro (2017) 5K - Xeon W-2140B 64GB DDR4 RAM 1TB SSD Radeon PRO Vega 56 8GB
- Bomba ár! HP EliteBook 840 G2 - i5-5GEN I 8GB I 256GB SSD I 14" HD+ I Cam I W10 I Garancia!
- ASUS TUF Gaming F15 FX506 - 15.6"FHD IPS 144Hz - i5-11400H - 8GB - 512GB - RTX 3050 Ti - 1,5 év gari
- BESZÁMÍTÁS! MSI B550 R9 5900X 32GB DDR4 512GB SSD RX 6700 XT 12GB Rampage SHIVA Enermax 750W
- Azonnali készpénzes Microsoft XBOX Series S és Series X felvásárlás személyesen/csomagküldéssel
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: PC Trade Systems Kft.
Város: Szeged