- UHD filmek lejátszása
- Home server / házi szerver építése
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- NVIDIA GeForce RTX 5080 / 5090 (GB203 / 202)
- Elkészült a nagymama hardverbefőttje
- AMD Ryzen 9 / 7 / 5 7***(X) "Zen 4" (AM5)
- Házimozi haladó szinten
- AMD Ryzen 9 / 7 / 5 / 3 5***(X) "Zen 3" (AM4)
- Sony MILC fényképezőgépcsalád
- ThinkPad (NEM IdeaPad)
-
PROHARDVER!
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
-
m.zmrzlina
senior tag
válasz
Hyper84 #23599 üzenetére
A "torolni " munkalap A oszlopába nem a s01... stb-t írod hanem az A01.... stb-t és a
If Application.WorksheetFunction.CountIf(rngTorolni, rngCella) = 1 helyett
If Application.WorksheetFunction.CountIf(rngTorolni, rngCella) = 0 lesz
A többi ugyanaz.
Azt gondolom mondani sem kell, hogy legyen a fáljból biztonsági másolatod. -
Hyper84
csendes tag
válasz
m.zmrzlina #23598 üzenetére
Ezt a fordítva dolgot leírnád még nekem légy szíves és igérem befejeztem?
-
m.zmrzlina
senior tag
válasz
m.zmrzlina #23597 üzenetére
Ehhez a módszerhez mindenképp kell egy tartomány amiben a "halálra ítélt" azonosítók vannak.
Meg lehet fordítva is csinálni de akkor a maradó azonosítók listája kell és a Countif() nulla értékénél kell törölni.
Ugyanaz csak pepitában.
-
Hyper84
csendes tag
válasz
m.zmrzlina #23593 üzenetére
Vagy meg is lehetne fordítani a dolgot, az nem lenne programozás oldalról egyszerűbb, ha azt mondanánk, hogy mindent töröljön kivéve azokat az oszlopokat amik nekem kellenek, jelen esetben A01, A02...stb.
Még ez így jobb is lenne nekem ugyanis a tábla elején vannak még felesleges oszlopok, csak gondoltam azt kézzel kitörlöm.
-
Hyper84
csendes tag
válasz
m.zmrzlina #23593 üzenetére
Nagyon köszi ez így már majdnem jó is lenne, csak úgy nem lehet ezt megoldani, hogy ahogy az én táblám látod abból a makró futtatásával törölje a felesleges oszlopokat?
Mert azt hogy külön meg kell adnom a törlendő oszlopok értékeit, az nekem nagyon sok időt venne igénybe ugyanis ez az S01, S02...ez egészen S99-ig tart és ilyen excelből van vagy 30 db.
-
Fferi50
Topikgazda
válasz
Carasc0 #23589 üzenetére
Szia!
Megnyitás előbb kikapcsolod az automatikus számolást a menüből. Megnyitás után visszakapcsolod.
De akkor meg a szám beírása után lesz hosszú idő, amíg "magához tér" a fájl.
Szerintem mindenképpen vizsgáld meg, hogy minden képletre szükséged van-e és abban a formában.Üdv.
-
m.zmrzlina
senior tag
válasz
Hyper84 #23592 üzenetére
1. Létrehoztam egy munkalapot a "torolni" néven
2. Ennek a munkalapnak az A oszlopába felvittem azokat az elemeket amelyeknek az oszlopát törölni kell
3. A munkalap amin a törlendő adatok vannak "adatok " nevet kapott
4. A For Each sor végén lévő Range("A1:Z1") azt a tartományt jelöli ameddig a te adataid tartanak az "adatok" munkalapon.Sub oszlop_torol()
Dim rngTorolni As Range
Dim rngCella As Range
Dim wsAdatok As Worksheet
Set wsAdatok = ThisWorkbook.Worksheets("adatok")
Set rngTorolni = ThisWorkbook.Worksheets("torolni").Range("A:A")
For Each rngCella In wsAdatok.Range("A1:Z1")
If Application.WorksheetFunction.CountIf(rngTorolni, rngCella) = 1 Then
rngCella.EntireColumn.Delete
End If
Next
End Sub -
Hyper84
csendes tag
válasz
m.zmrzlina #23591 üzenetére
-
m.zmrzlina
senior tag
válasz
Hyper84 #23590 üzenetére
Én eltárolnám egy oszlopba azokat a fejlécelemeket amelyek oszlopát tötölni kell majd egy for each next-tel és egy =CountIf()-fel végigmennék a fejlécen. Ahol a =CountIf() 1-et ad vissza ott törölném az egész sort.
Ha teszel be egy képet a munkalapodról (vagy legalább leírod, hogy hogyan néz ki) konkrétabb is tudok lenni.
-
Hyper84
csendes tag
Eddig jutottam
Sub Oszlop_Torlese()
Y = False
I = 1
For xCounter = 1 To Columns.Count
If Y = True Then
Cells(I).EntireColumn.Delete
Else
I = I + 1
End If
Y = Not Y
Next xCounter
End Sub -
Carasc0
őstag
Megoldottam közbe...
-
Hyper84
csendes tag
Sziasztok,
Olyan problémával kapcsolatban szeretném kérni a segítségeteket, hogy adott egy táblázat, amiből azokat az oszlopokat szeretném, hogy törölje a makró aminek az első sorában az alábbi értékek valamelyikét találja: S01, S02...S099-ig.
Nagyon kezdő makrós vagyok, szóval ha lehetőség van rá teljes makrót írjatok legyetek szívesek amit már csak be tudok illeszteni a helyére.
köszönöm előre is,
CsabiHT -
Carasc0
őstag
válasz
Fferi50 #23586 üzenetére
Szia!
Köszi a lehetőségeket, de az elsőt nem igazán értem. Gond az hogy a nyilvántartás folyamatosan lenne feltöltve és amint valaki felvísz egy sort abban a pillanatban megindul az automatikus számolás a megfelelő helyen és íródnak át a cella értékek. Ez muszáj hogy működjön hiszen ezért csináltam. Ha kikapcsolom az automatikus számolást akkor ez megszűnik?
Amúgy én nem makrózom arra sajnos nincs időm....Hol tudom kikapcsolni az automatikus számolást?
-
Fferi50
Topikgazda
válasz
Carasc0 #23585 üzenetére
Szia!
Az egyik gyorsítási lehetőség az, hogy kikapcsolod az automatikus ujraszámolást. Amikor változtatsz valamit, akkor kézzel számoltatsz (Természetesen ez makróból is megy mindkettő.) Az Excelt azelőtt állítsd át kézi számolásra, mielőtt behívod a munkafüzetet. (Makróban: application.calculation= és innen felajánlja a lehetőségeket).
A másik, hogy végiggondolod, melyek azok a képletek, amelyeknek az eredménye frissítés. Ezek általában olyan képletek, amelyek rendszer változó dolgokra vonatkoznak pl. ilyen az indirekt, az offset meg még van egy pár belőle. Ezek minden egyes cella megváltozásakor azonnal újraszámítódnak, akkor is, ha nem a "hozzájuk tartozó cella" változott.
Harmadik dolog, a képeket biztosan nem éri meg "belegyömöszölni" az excelbe. Tedd be őket egy adott könyvtárba és a programban csak a hivatkozás kell bele, az excel betölti és utána el is tudod vele felejtetni.
Ugyanez vonatkozik nagytömegű szövegre (pl. help, magyarázat). Ezt is bele lehet tenni egy külön fájlba.Ha megnézed tömörítővel pl. zip, abból is kiderülhet, hogy melyik rész az ami "nyomja" a területet.
(fájl kiterjesztést átírod zip-re utána a zip tömörítővel meg tudod nézni, ki is tudod tömöríteni egy külön helyre azt, amire kíváncsi vagy. Arra vigyázz, hogy ne szerkessz bele, mert akkor baj lehet belőle. Ajánlatos mindezt a fájl másolatával megcsinálni.) Ha nem "rondítottál bele", akkor a visszanevezés után ugyanúgy lehet vele dolgozni, mint azelőtt.Üdv.
-
Carasc0
őstag
Sziasztok!
Köszönöm az előzőeket, alighanem a transzponálás megoldás az jó lesz. Viszont van egy súlyos gond. A nyilvántartó rendszerem eddigi mérete 16MB ebbe semmilyen importált kép nincs csak több ezer felhasznált cella. A gond az hogy bazi lassan indul el (tehát mikor rákattintok az állományra hogy töltsön be az Excel). Nagyon lassan tölti be... Ezen nem lehet valahogy segíteni? Valamit kikapcsolni vagy más formátum akármi....
Előre is köszönöm!
-
Delila_1
veterán
válasz
nebulo0128 #23582 üzenetére
Ha PowerPoint-tal próbálkoztál, akkor jó lesz a Fényképezőgép funkció. Kiteheted az ikonját.
2003-es verzióig Testreszabás, Parancsok fül, Eszközök kategória. A jobb oldalon megjelenő ikonok közül a Fényképezőgép-ét felhúzod az ikonok közé.
2007-től Gyorselérési eszköztár, További parancsok, a Választható parancsok helye legördülőből a Minden parancs-ot választod. Az alatta lévő táblába lépve egy F nyomására az első f-fel kezdődő parancsra lépsz, innen kikeresed a Fényképezőgép-et. A Felvétel gombbal átmásolod a jobb oldali táblába. OK után megjelenik a Gyorselérési eszköztáron.
Alkalmazása:
Kijelölöd a tartományt, amit mindig látni akarsz, majd az ikonra kattintasz. Ekkor szálkereszt alakú lesz az egér mutatód, ezzel rajzolsz egy négyszöget. Módosíthatod a szokásos módon a méretét. Olyan helyre tedd, ami szem előtt van, pl. a felső sorokba, amiket rögzítettél az ablaktábla rögzítése funkcióval.Amint változtatsz a kijelölt táblában valamit, azonnal látod az új értéket a fényképezőgép ablakában.
-
Thrawnad
senior tag
válasz
nebulo0128 #23582 üzenetére
Kijelzőn gondolom csak az eredmény van fenn.
Én csinálnék egy táblát amiben a makró mondjuk percenként, vagy ahogy szükséges megnyitná a bemeneti táblát és magába másolná az eredményeket, majd becsukná.
Így annak a helyére ami a bemenet be lehet összeomlás nélkül másolni a filet a frissítések közt.
Egy külön példányon meg dolgozhatsz zavartalanul.
Thrawnad -
nebulo0128
csendes tag
Sziasztok!
egy nagy excel dokumentumot szeretnék megjeleníteni egy kijelzőn, ami UVNC terminálon kapja a jelet. Azon a kijelzőn csak megjelenne a táblázat és automatikusan frissülne, ettől függetlenül másik gépen szeretnék dolgozni benne. (szerveren van a fájl).
összességében van olyan program vagy bármi megoldás, amivel így meg tudnám jeleníteni külön a táblázatot?
úgy hogy közben a szerkeszthetőség megmaradjon.
a táblázat megosztása nem játszik, összeomlanak tőle a képletek, elég bonyolult tábláról van szó.
powerpointból próbálkoztam táblázat objektumként csatolásával.esetleg valakinek valami egyéb ötlete?
-
baggerhun
csendes tag
Sziasztok!
Excel dinamikus diagram témakörben lenne kérdésem.
Azt már kibogarásztam, hogy ha táblázat formázást adok meg, akkor a diagram bővülni fog automatikusan, ha új sort viszek a táblázatba.A táblázatom egy dátum oszlopot és egy érték oszlopot tartalmaz.
Azt kellene megoldanom, hogy a diagram mindig az aktuális naptól (ma) számított 180 (tehát összesen 180 sornyi) napra visszamenőleg jelenítsen meg csak adatot. Megoldható ez valahogy?Köszönöm,
Bagger
u.i.: Ha erről van már tutorial is, link is megfelelő lesz válaszként. köszi még1x
-
Fferi50
Topikgazda
válasz
m.zmrzlina #23575 üzenetére
Szia!
Azért van ez, mert a sima range és cells mindig az AKTÍV munkalapra hivatkozik, ha nincs előtte a pontos megjelölés.
Tehát a második: wsKabelo.Range(wsKbelo.Cells(2, intDigitlista_oszlop), wsKabelo.Cells(intListahossz, intDigitlista_oszlop))formában működik megfelelően. (Én is bele szoktam néha esni ebbe a hibába....)
Az első viszont a betűkkel direktben a wsKabelo -ra hivatkozik.
Üdv.
-
Fferi50
Topikgazda
válasz
Carasc0 #23572 üzenetére
Szia!
Csináld meg a képletet vizszíntesen: =AA$100, ezt húzd el vizszintesen addig, ameddig szükséged van rá.
Utána: Másolás - uj cella kijelölése az oszlopban - irányított beillesztés: képletet és transzponálás ! A képleted számodra megfelelően másolódik át lefelé.
Üdv.
-
m.zmrzlina
senior tag
Így próbálok feltölteni adattal két tömböt:
arrAnalist() = wsKabelo.Range("A2:A" & intListahossz)
arrDigilist() = wsKabelo.Range(Cells(2, intDigitlista_oszlop), Cells(intListahossz, intDigitlista_oszlop))Ha nem az a munkalap aktív amelyikről az adatokat a tömbbe kell írni akkor a második sornál a "worksheet objektum range metódusa hibás" hibaüzenetet kapom. Az első sor gond nélkül lefut.
Ha a két sor elé beteszem, hogy:
wsKabelo.Select
akkor mind a két sor hiba nélkül megy.Mi lehet az oka?
-
-
Carasc0
őstag
Sziasztok!
Nagyon köszönöm a tippeket mindenképp kifogom őket próbálni.
Másik kérdés. Ez már könnyebb de sztem ezt nem lehet megoldani csak kézzel. Azt szeretném megoldani, ha függőlegesen másolok egy hivatkozott cellaazonosítót akkor ne a sorazonosító változzon hanem az oszlopok azonosítója. PL.
AA100
AB100
AC100És ha lefele másolom akkor folytassa a betűsorszámozást, a szám azonosító maradjon. Vagyis ahogy én haladok lefele, a hivatkozási keret úgy menjen jobbra.
-
bteebi
veterán
válasz
Carasc0 #23567 üzenetére
1. Gagyi és jelen esetben valószínűleg nem túl gyors, de egyszerű megoldás, ha lehúzod a képletet, és a megfelelő részt lecseréled Ctrl+H-val (mondjuk a C-t D-re, de ha ez soronként változik, akkor nem jó). Feladattól függően elég macerás is lehet (itt most valószínűleg túl körülményes lenne).
2. Makróval. Kiindulásnak valami ilyesmi jó lehet, ezt kell kicsit átírnod:Dim i As Integer
For i = 1 To 40
Cells(i, 2).Value = WorksheetFunction.If(Sheets("Nyilvántartás").Range("C2") = Range("CX1"), WorksheetFunction.If(Sheets("Nyilvántartás").Range("D2") >= Range("K2"), WorksheetFunction.If(Sheets("Nyilvántartás").Range("D2") <= Range("K8"), 1, 0), 0), 0)
Next iHa a Range("hivatkozás") helyett mindenhol a Cells(sor, oszlop)-ot használod, akkor azt úgy paraméterezed ciklusban, ahogy csak szeretnéd, és akkor könnyen megvan az egész. A fenti példában a B1-es cellába (ami a Cells(1,2) cella) írt képlet van.
-
m.zmrzlina
senior tag
-
Carasc0
őstag
válasz
slashing #23566 üzenetére
Továbbra sem ez a gondom. Máshogy teszem fel a kérdést:
Hogy lehet úgy képletet másolni tetszőleges irányba hogy a képletnek csak az a része változzon amit én a másolandó képletbe megváltoztattam. Írok rá extra primitív példát:
10
11
12
13
14
15
16Tegyük fel megváltoztatom a 10-et 20-ra. Ha másolnám a 20-at akkor így legyen az eredmény:
20
21
22
23
24
25
26Tehát csak az a része változzon amit én megváltoztatok....többi maradjon a helyén.
-
slashing
senior tag
válasz
Carasc0 #23565 üzenetére
Azért nem változik a "C" "D"-re ha elhúzod a képlet mert a C oszlop abszolút hivatkozva van tehát az mindig fixen C lesz a képletben, szedd ki előle a $-jelet és úgy húzd el a képletet és ha mindig a második sorból kell az adat akkor meg oda rakd a $-t.
A másoláson remélhetőleg a fogd és húzd módszert érted nem a ctrl+c/v-t
-
Carasc0
őstag
Sziasztok!
Akkor nem volt eléggé érthető. Én kérek elnézést. Lássunk akkor egy egyszerű példát:
=HA(Nyilvántartás!$C2=$CX$1;HA(Nyilvántartás!$D2>=$K$2;HA(Nyilvántartás!$D2<=$K$8;1;0);0);0)
=HA(Nyilvántartás!$C2=$CX$1;HA(Nyilvántartás!$D2>=$K$9;HA(Nyilvántartás!$D2<=$K$15;1;0);0);0)
Az első képlet tegyük fel az A1, a másik A2 cella értéke. Na most ezt a 2 cellát lemásolom egy másik két cellába. Legyen mondjuk B1 és B2. Felülírom a B1-es cellába lévő képletben a &C2-t mondjuk &D2-re. Így most a B1 cellába egy módosított képlet van. Ezt úgy akarom átmásolni a B2-be, hogy ne az egész képlet változzon hanem csak amit átírtam. Mert ha simán átmásolom akkor tönkremegy az egész, hiszen nézzétek meg a belső HA függvényt mind2 képletben. Más az intervallum vizsgálat.
Remélem így okés...
-
slashing
senior tag
válasz
Carasc0 #23562 üzenetére
Nem teljesen egyértelmű de valószínűsítem hogy a relatív és abszolút hivtakozás kell neked:
Pl. Abszolút oszlop és abszolút sor $A$1 mindig erre a cellára fog hivatkozni a képlet ha lehúzod
Pl. Relatív oszlop abszolút sor: A$1 mindig az adott oszlop 1. cellájára fog hivatkozni ha elhúzod a képletet
stb.. stb...F4 billentyűvel tudod váltogatni gyorsan hogy melyik legyen relatív vagy abszolút...
Ha csak egy cellahivatkozást akarsz módosítani ahogy lehúzod a képletet akkor azon kívül mindegyik cellát rakd abszolútra...
Ha nem érthető keress rá az excel súgóban szerintem az egyik legérthetőbb súgó amit Microsoft terméknél láttam....
-
Carasc0
őstag
Sziasztok!
Iskolai nyilvántartást készítek excelben nagyon maszek módszerrel, tehát biztosan van rá jobb megoldás is de most ez lesz. Szeretném a munkámat kicsit felgyorsítani. Leírom a problémát:
Adott egy képlet egy sorba, mondjuk 40 cella hosszan. Mindegyik cellába más más képlet van. Tegyük fel ezt a 40 cellányi cellát még egy sorba le akarom másolni. Eddig teljesen könnyű. A lemásolt 40 cellányi képletekbe külön-külön csak 1db cella hivatkozást akarok lecserélni. Az a bajom hogy ezt egyesével kell megcsinálnom. Ezt nem lehet valahogy gyorsítani?
Másképp tehát a kédés: Nem lehet egy adott képletbe úgy megmásítani egy cellahivatkozást, hogy ha másolnám a képletet a sorba végig, akkor a felülírandó cellákba lévő képletbe csak az az 1 cella hivatkozás változzon meg.
Ha nem volt érthető leírok egy konkrét példát is.
Előre is köszönöm.
-
samfishR
senior tag
Sziasztok,
Adott 3 excel munkafüzet, "A" "B" és "C". "A" munkafüzet egy részte át van hivatkozva "B"-be, amiből szintén egy rész át van hivatkozva "C"-be. Ha "A"-ban módosítok valamit, akkor annak "C"-ben is meg kellene mutatkoznia, mivel számításokról van szó. Tehát A-ból egy számítás végeredménye van áthivatkozva B-be ahol ez a végeredmény felhasználásra kerül egy újabb számításban és ennek az újabb számításnak a végeredménye van áthivatkozva C-be, ahol az újból fel van használva..... Remélem érthetően írtam le. A problémám az, hogy ha A-ban módosítok valamit, akkor az C-ben nem fog látszani anélkül, hogy B-t ne nyitnám meg és menteném el a frissült eredménnyel...Össze lehet valahogy kötni ezeket a fileokat úgy, hogy működjön a hivatkozás? Köszi előre is a segítséget!
-
m.zmrzlina
senior tag
válasz
Mittu88 #23558 üzenetére
Az volt a probléma, hogy volt egy kezdőérték, lefutott a teljes kód aminek során megváltozott és ennek a kódnak egy részét szeretném újra futtatni.
Namármost: a kezdeti értéket nem adhatom meg a részkód futtatásánál mert ha már egyszer lefutott a teljes kód akkor már nem megyek semmire azzal az értékkel. Ha viszont itt adok értéket neki akkor meg a teljes kód futtatásánál kavar be.
De mindegy is Fferi50 tippje alapján fogok boldogulni a problémával.
Köszi mindenkinek aki segített.
-
Mittu88
senior tag
válasz
m.zmrzlina #23554 üzenetére
Az fog is változni, de nem az a problémád, hogy volt, amelyiknek nem volt kezdőértéke még?
-
Polllen
nagyúr
válasz
m.zmrzlina #23554 üzenetére
És változni is fognak, hiszen bizonyos sub-n belül dolgozol velük.
Ha mindig ugyanaz a kiinduló érték, nincs jelentősége annak, hogy egy sub-bal vagy munkafüzetben adod meg a kiinduló értéket.
Ha viszont az utolsó folyamat értéke kell, akkor is ha aktuálisan az a folyamat nem futott, tehát nem adott értéket, el kell tárolnod az előzőt és azt beolvasni.
-
sedyke
tag
válasz
m.zmrzlina #23550 üzenetére
Azt nem tudom elérni, hogy képlettel a mindig x sorral lejjebb található cellát kapjam eredményül. Manuális persze megtalálom, de több száz is van egy munkalapon belül.
-
Fferi50
Topikgazda
válasz
sedyke #23547 üzenetére
Szia!
Ezt attól függ, hogy milyen "technikával" hoztad létre összesítéseket.
Ha ugyanannyi sorral van lejjebb, használhatod az indirekt függvényt:
pl. Az első sorban = indirekt("munka1!B" & (sor()-1)*X+1) ahol az X az a szám, amennyivel lejjebb van a következő számlaszám. Ezt a képletet húzod végig az oszlopon.
Az összegre hasonlóan, csak nem +1 amit hozzáadsz, hanem az első összegnek a sorszámát (itt 45).Üdv.
-
Mittu88
senior tag
válasz
m.zmrzlina #23552 üzenetére
Modul-on belül deklarálod Sub-on kívül, aztán csinálsz egy Sub-ot, amiben értéket adsz mindegyiknek.
workbook_open-be meg beírod a sub nevét.pl.:
Module-ban:Public pelda as integer
Public peldaketto as stringSub Ertekadas()
pelda = 12345
peldaketto = "egykettoharomnegyot"End Sub
ThisWorkBook-ban meg:
Private Sub Workbook_Open()Ertekadas
End Sub
Bocsi, ha nem elég érthető, szaknyelvben nem vagyok jó (még)
Új hozzászólás Aktív témák
- Assassin's Creed Shadows Collector's Edition PC
- Windows 10 11 Pro Office 19 21 Pro Plus Retail kulcs 1 PC Mac AKCIÓ! Automatikus 0-24
- 3 hónap Aimlabs Plus Premium - Valorant
- Vírusirtó, Antivirus, VPN kulcsok
- Eredeti Microsoft termékek - MEGA Akciók! Windows, Office Pro Plus, Project Pro, Visio Pro stb.
- Dell és HP szerver HDD caddy keretek, adapterek. Több száz darab készleten, szállítás akár másnapra
- Lenovo ThinkPad 40AF docking station (DisplayLink)
- Telefon felvásárlás!! Samsung Galaxy S24/Samsung Galaxy S24+/Samsung Galaxy S24 Ultra
- ÁRGARANCIA!Épített KomPhone Ryzen 7 5700X 16/32/64GB RAM RTX 4060Ti 8GB GAMER PC termékbeszámítással
- Bomba ár! Dell Latitude 5400 - i5-8GEN I 16GB I 512SSD I 14" HD I HDMI I Cam I W11 I Gari!
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest