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.
Gyorskeresés
Legfrissebb anyagok
- Bemutató Route 66 Chicagotól Los Angelesig 2. rész
- Helyszíni riport Alfa Giulia Q-val a Balaton Park Circiut-en
- Bemutató A használt VGA piac kincsei - Július I
- Bemutató Bakancslista: Route 66 Chicagotól Los Angelesig
- Tudástár AMD Radeon undervolt/overclock
Általános témák
LOGOUT.hu témák
- [Re:] [Luck Dragon:] Asszociációs játék. :)
- [Re:] [sziku69:] Fűzzük össze a szavakat :)
- [Re:] [Luck Dragon:] MárkaLánc
- [Re:] [D1Rect:] Nagy "hülyétkapokazapróktól" topik
- [Re:] [bitpork:] Fogyasztásra ítélve
- [Re:] [bobalazs:] RTX 4070 Super Undervolting and Overclocking Alulfeszelés és túlhajtás
- [Re:] [sh4d0w:] Rebel Moon - Ne nézd meg!
- [Re:] [gban:] Ingyen kellene, de tegnapra
- [Re:] [CPT.Pirk:] "Fényhűtés" ciksorozat (tuningnet.hu)
- [Re:] PLEX: multimédia az egész lakásban
Szakmai témák
PROHARDVER! témák
Mobilarena témák
IT café témák
Téma összefoglaló
- Utoljára frissítve: 2023-11-13 08:31:56
LOGOUT.hu
Hozzászólások
lappy
őstag
adatok - szövegből oszlopok - majd egyéb ' elválasztójel és tizedesjel növelése
de gondolom ezek egy sorban vannak és ebből akarsz oszlopot előállítani akkor kell egy transzponálás
Bámulatos hol tart már a tudomány!
Lasersailing
senior tag
Sziasztok,
(angol office 365, excel vba)
Egy programmal szeretnék írható formátumban megnyitni egy exceles adatbázist. Azt nem tudom biztosítani, hogy épp abban a pillanatban más program ne írjon a file-ba, de azt igen, hogy a másik program ha megnyitja írásra, akkor írás után zárja is be azonnal az adatbázist.
Jelenlegi megoldásom: megnyitom a file-t ha readonly, akkor bezárom és újranyitom, közben kap egy üzenetet a felhasználó, hogy várjon és 1 másodperc múlva újra próbálom nyitni a filet:Res = SH.Popup(Text:="Az adatbázisba éppen másik program ír adatot. Kis türelmet kérek: " & Chr(13) & szamolo & " -szer fogom még megpróbálni", secondstowait:=1, Title:="Adatbázis írás", Type:=vbOKOnly)
Ez egész jól is működik, csak nem tudom, hogyan lehetne a várakozási időt pl. 0.1 másodpercre levinni. Ezt hogyan lehet megtenni?
Vagy a másik szintén jó megoldás lenne, ha az adatírás előtt ki tudné tenni a képernyőre egy üzenetet, hogy "adatok írása", ami addig van kint, amíg az adat kiírása meg nem történik.
Köszönöm előre is a segítséget!
Salex1
senior tag
Ez egy hatalmas táblázat(Oszlop A-tól CK-ig, 11000 sorban). Amit írtam az az AH oszlopban van, és van ahol 1, de van ahol 15 érték van felsorolva ebben a cellában a lenti módon.
A transzponálást nem igazán használható erre szerintem.
lappy
őstag
vmi ilyet szeretnél akkor?
Bámulatos hol tart már a tudomány!
Dilikutya
félisten
Én se értettem, aztán kiderült, hogy összefüggött egy kereszthivatkozással.
Nem vagyok perverz, csak haladok a korral. (Még mindig: Rock&roll feeling baby, rock&roll feeling.....)
Salex1
senior tag
Delila_1
Topikgazda
A mintád alapján írtam egy makrót, ami a Munka2 lapra írja az első kép adatait a második képed szerint . A makrót modulba másold, a füzetet makróbarátként kell elmentened.
Sub Atrendez()
Dim oszlop As Integer, uoszlop As Integer, ide As Long, sor, usor As Long
Range("V:BB").ClearContents
Sheets("Munka2").Range("A:E").ClearContents
usor = Range("E" & Rows.Count).End(xlUp).Row
Range("D1:D" & usor).Copy Range("V1")
With Range("V1:V" & usor)
.Replace What:="W", Replacement:=",0"
.Replace What:=",0", Replacement:="W"
.Replace What:="[", Replacement:=""
.Replace What:="]", Replacement:=""
.Replace What:="'", Replacement:=""
.TextToColumns Destination:=Range("V1"), Comma:=True
End With
Range("V1", ActiveCell.SpecialCells(xlLastCell)).Select
Selection.Replace What:="W", Replacement:=",0"
Cells(1).Select
ide = 1
For sor = 1 To usor
uoszlop = Cells(sor, Columns.Count).End(xlToLeft).Column
With Sheets("Munka2")
For oszlop = 22 To uoszlop
Range("A" & sor & ":C" & sor).Copy .Range("A" & ide)
.Range("D" & ide) = Cells(sor, oszlop)
.Range("E" & ide) = Cells(sor, "E")
ide = ide + 1
Next
End With
Next
Range("V:BB").ClearContents
Sheets("Munka2").Select
Cells(1).Select
End Sub
[ Szerkesztve ]
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
Salex1
senior tag
Köszönöm! Kipróbálom.
Jazz
veterán
Sziasztok,
409-pontnál nem lehet nagyobb egy sor magassága. [link]
Régen ez nem volt maximalizálva ha jól emlékszem.
Van valami mód ennek kitolására?
(Excel Office365, 2102 verzió)
Köszi
free your mind
lappy
őstag
ha ez a gyári adat akkor nem
Bámulatos hol tart már a tudomány!
BullZeye
veterán
Van valami beállítás Excelben, hogy ha inaktív az ablak és rákattolok egy cellára, akkor rögtön belemenjen és ne csak az ablakot aktiválja?
másik programba kell gyakran copy pastelni adatot excelből, és amikor másik programra váltok excelre visszatérés 2 kattintás és emiatt gyakran az előző cellát copy pastelem ha nem kattintok duplán.
BigBadPlaYeR
senior tag
Ilyen beállításról nem tudok. De hasonló esetekben én valamilyen vágólap kezelőt ('clipboard manager') használok: Windows 10-től van beépített [Win]+[V] kombinációval. De a Ditto egy fokkal már jobban használható.
"Furcsa, hogy az ember milyen keveset ér el, ha nem is próbálkozik."
jerry311
nagyúr
Excelben ilyen nincs.
Viszont lehet olyat, hogy ne kelljen kattintani az ablak aktiválásához. Tehát amikor az Excel ablakba húzod az egeret, akkor aktiválódik, így amikor a cellára kattintasz, akkor már a cellát választod ki, nem az ablakot aktiválod.
Control Panel --> All Control Panel Items --> Ease of Access Center --> Make the mouse easier to use --> Activate a window by hovering over it with the mouse
3DFan
aktív tag
Szia! Hogyan lehet ilyen több oszlopos legördülőt készíteni (a makró mentes megoldás érfekelne)? Köszönettel.
lappy
őstag
https://www.extendoffice.com/documents/excel/4022-excel-combobox-multiple-columns.html
Bámulatos hol tart már a tudomány!
3DFan
aktív tag
Köszönöm.
3DFan
aktív tag
föccer
nagyúr
Használd az indirekt és a sor függvényeket.
Nincs előttem excel de valami olyasmi lesu
B1-be
=INDIREKT("A"&SOR()*4+1)
C1-be
=INDIREKT("A"&SOR()*4+2)
D1-be
=INDIREKT("A"&SOR()*4+3)
Ezt lehúzod addig amíg kell és elvileg átrendezi
üdv, fg
Építésztechnikus. Építőmérnök.
3DFan
aktív tag
Köszönöm, sikerült vele.
(#48871) Lasersailing válasza Lasersailing (#48852) üzenetére
Lasersailing
senior tag
Továbbgondolva az eredeti kérdésemet, az alábbi megoldás érdekelne:
Userform használatával arra gondoltam, hogy megjelenítek egy formot, hogy adatkiírás folyamatban. Azt hogyan lehet megoldani, hogy miközben ez megjelenik, aközben fusson le a mentés? (és a végén elhide-olnám)
snorbi82
senior tag
Sziasztok!
Adott egy excel fájlom, amit havi egyszer (esetleg kétszer) kellene indítanom és a benne lévő adatokat - Adatok - Az összes frissítésével - egy adatbázisból lefrissíti? Meglehet oldani?
Előre is köszönöm! Office 2016
Norbi
IPhone 15 Pro Max, Iphone 13
Delila_1
Topikgazda
Beírod a szöveget egy alakzatba. A fájl indításakor láthatatlanná teszed.
Láthatóvá teszed, indítod az adatkiírást, elrejted az alakzatot.Sheets(1).Shapes.Range("Alakzat").Visible = True
'adatkiírás
Sheets(1).Shapes.Range("Alakzat").Visible = False
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
Magnat
veterán
Szia,
igen, pl PowerQueryvel.
̿' ̿'\̵͇̿̿\з=(◕_◕)=ε/̵͇̿̿/'̿'̿ ̿
Fferi50
őstag
Szia!
A Userform.Show -nak van egy Modal nevű paramétere, amely alapértelmezésben True, vagyis a form megállítja a programok futását.
Ha Userform.Show False módon hívod meg, akkor a programok futnak tovább, viszont neked kell gondoskodni a Form "eltüntetéséről" később a futás folyamán.
[Help]
Üdv.
Lasersailing
senior tag
Köszönöm!
Mi ez az alakzat, még sosem használtam, merre keressem? Angol excelben shape-nek hívják, ha jól használom a google-t.
(#48877) Lasersailing válasza Lasersailing (#48876) üzenetére
Lasersailing
senior tag
Ok, rájöttem. Használtam, csak nem tudtam hogy így hívják.
Közben FFeri50 javaslata tetszik azt próbálom meg használni, mert amúgy is userformos minden ebben a programban.
Lasersailing
senior tag
Sajnos elakadtam:
"Can't show non-modal form when modal form is displayed"
A gondom az, hogy szerettem volna az adatbázis megnyitást (és bezárást) a főmodulba tenni, mivel ezt több userformon is meghívom. Viszont így nem engedi
Most kb. az jut csak eszembe, hogy átadom az aktív userform nevét és ott jelenít meg egy dobozt a szöveggel, csak így minden userform-ra rá kell tennem ezt a szövegdobozt...
Esetleg van jobb ötlet, ahogyan a fenti ötletedet működésre lehet bírni nálam?
[ Szerkesztve ]
Fferi50
őstag
Szia!
Való igaz, hogy egyszerre nem lehet modális és nem modális form megjelenítése. A főmodul alatt egy userform kódlapját érted? Ha igen, akkor miért oda kell tenni?
Mielőtt a non-modal formot mutatod, a másikat el kell rejteni, majd utána ismét megmutatni. Hiszen közben csak azt szeretnéd, ha látnák, hogy a program dolgozik.
Egyébként ebből a szempontból érdekes lehet az állapotsor is (Application.Statusbar), ahova beírhatsz saját szövegeket:Application.Statusbar = "Mentés van folyamatban"
Majd a mentés befejezése után:Application.Statusbar = False
visszaadja az állapotsort a VBA-nak.
Üdv.
Melorin
addikt
Lenne egy számomra eléggé komplikált és elborult igényem makrózás terén, de mivel nem értek a makrókhoz, segítséget szeretnék benne kérni. De mielőtt beírnám a feladatot, megkérdezném, hogy segítenétek a megvalósításában vagy csak útbaigazítást adtok?
[ Szerkesztve ]
lappy
őstag
amíg nem tudjuk mi a feladat addig nem is tudunk segíteni semmilyen formában
[ Szerkesztve ]
Bámulatos hol tart már a tudomány!
Melorin
addikt
Van egy saját táblázatom, amiben vezetem azokat a termékeket, amikre szükségem van a munkámhoz. Ezeknek a beszerzési árát folyamatosan vezetnem kell, hogy mire a megrendelésre kerül a sor, tudjam, hogy mennyibe kerülnek, ráadásul ha lejár az ára egy terméknek, meg sem lehet rendelni addig, amíg nem kérek új árajánlatot rá, és nem frissül a központi adatbázisban az ára. Ha jön rá árajánlat és frissül az ára, kapok egy emailt amiben leírják, hogy mennyi az új ára és hogy azt milyen dátumig tudják tartani a cégek.
Nemrég jöttem rá, hogy a központi adatbázisból le lehet kérni az összes létező anyag aktuális árát és annak érvényességi dátumát.
Mutatom milyen formátumban (nyílván ez két külön táblázat, csak most hogy egy képen szerepeljenek, egymás alá másoltam őket egy táblázaton belül):
[kép]
A felső a saját táblázatom, amiben vezetem azt, hogy mikor kértem új árat egy termékre.
Az alsó a rendszerből lekérdezett.
Az lenne a feladat, hogy amennyiben a lekérdezett táblázatban egy anyag árának érvényessége újabb mint ami az én táblázatomban szerepel (zölddel jelöltem egy példát erre), írja át az én táblázatomban ezt a dátumot erre az értékre, és törölje ki a mellette lévő árkérési dátumot, mivel már megkapta az új árat.
Sajnos ahogy látszik, a lekérdezett dátum formátuma eléggé érdekes finoman szólva.
Ahogy a folyamatot elképzelem:
- Lekérem a legfrissebb adatbázist a rendszerből, lementem egy adott mappába.
- A makrót elindítom és cikkszám alapján végigmegy és összeveti az én táblázatomban szereplő adatokkal cikkszám keresés alapján (A oszlop).
- a "C" oszlopból pl. 20200930 ~ 20221231 értékből 2022.12.31-et kell csinálni
- ezt beírni a saját táblázatomban a megfelelő sor E cellájába, és az F cella tartalmát kitörölni amennyiben annál a dátumnál újabb ez az új dátum.
-És természetesen az ár oszlopban szereplő értéket is írja át mindenképp, akár más az előzőhöz képest akár nem.
Ezt meg kell csinálnia minden egyes sorral a táblázatomban.
[ Szerkesztve ]
Fferi50
őstag
Szia!
Szerintem nem feltétlenül kell erre makró.
Az FKERES (vagy INDEX - HOL.VAN ) képlettel az árak frissítése és a dátumok frissítése is megoldható.
Az adatbázisból lekérdezett táblában az ajánlat érvényessége oszlopot ketté lehet bontani, gondolom, neked a vége a fontos, tehát azt vissza lehet tenni az adott oszlopba az Adatok - szövegből oszlopok menüponttal.
A lekérdezés szükségessége (F) oszlop pedig HA függvényes képlettel megoldható.
A képletezést csak egyszer kell megcsinálni. A "központi" táblát pedig minden lekérdezéskor ugyanazon névvel kell ellátni, hogy a képletek működjenek.
Üdv.
Kogamba
friss újonc
Sziasztok!
Az lenne a kérdésem, hogy egy excel sablon megnyitása után hogyan tudom a magyarázó segédlet buborékokat törölni? Köszönöm a segítséget előre is!
Delila_1
Topikgazda
Az A1 cellán állva Adatok | Adateszközök | Érvényesítés. A Beviteli üzenet fülön töröld a Beviteli üzenet szövegét.
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
Pityke78
őstag
Sziasztok!
Egy olyan kérdésem lenne, hogy van egy adatbázisom az A -C oszlopokban.
Azt hogyan tudom megszámoltatni vele, hogy hány olyan cella van a C oszlopban, ami eleget tesz a E1 cellába írt kritériumnak (A-oszlop=Autó; B-oszlop=Alma; C-oszlop=Nagyobb 1-nél) ?
Azzal még túlspiráznám, hogy mondjuk a nagyobb 1-nél kritériumnál is az 1 helyett egy cellára hivatkozna, amiben lehetnek különböző számok.
Lehet ilyet képletezni?
Köszönöm
[ Szerkesztve ]
lappy
őstag
=DARABHATÖBB(A2:A19;"autó";B2:B19;"alma";C2:C19;">1")
csak annyi a feladat hogy előtte ki kell szedni, hogy mit szeretnél megszámolni
[ Szerkesztve ]
Bámulatos hol tart már a tudomány!
Pityke78
őstag
Szuper, köszi!
És a végén a ">1" helyére be tudok hivatkozni egy cellát, amiben lehet akár 1-es, 2-es, stb és azt számolja?
Mert ha egy cellát teszek be az 1-es helyére, akkor nem számol rendesen.
Köszi
lappy
őstag
a cellában <> = jeleket kell használni
=DARABHATÖBB(A2:A19;"autó";B2:B19;"alma";C2:C19;F1)
pl F1 cellába >1 írsz
[ Szerkesztve ]
Bámulatos hol tart már a tudomány!
Pityke78
őstag
És ha az adott cellában csak szám van (1), akkor egy külön cellába muszáj létrehoznom a "">"&"cella" képletet, amit utólag meghivatkozok a DARABHATÖBB függvényben, vagy valahogy belemókolhatom a > kritériumot is?
[ Szerkesztve ]
ny.janos
tag
Az utolsó paraméterben a reláció van idézőjelek között, az & jel és a cellahivatkozás anélkül.
Lappy példájánál maradva:=DARABHATÖBB(A2:A19;"autó";B2:B19;"alma";C2:C19;">"&F1)
ny.janos
tag
Ahogy a táblázatodat nézem, a központi adatbázisból nyert árakhoz tartozó érvényeségi dátum kezdete és vége könnyedén kinyerhető PowerQuery-vel. Ha ez megvan, akkor az alapján meg tudod keresni az adott termék adott napon érvényes árát nem kell hozzá semmilyen átalakítás. Ezeket a videókat nézd meg és válassz olyan megoldást, ami neked megfelelő.
[link] [link] [link] [link] [link]
Delila_1
Topikgazda
A C2 cella képlete=HA(DARABTELI($A$2:$A$16;A2)>1;FKERES(A2;$A$2:$B$16;2;0);"Csak egyszer szerepel " & A2)
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
tonermagus
aktív tag
Sziasztok!
Diagram készítésben kérnék segítséget. Sávdiagramot kellene készítenem Office 2016 alatt. Az alábbi adatok kellene hogy szerepeljenek benne:
A függőleges tengelyen a dátum oszlopban lévő értékek kellene hogy szerepeljenek soronként.
Minden dátumhoz két cégérték van, ez dátumonként két sávként kellene hogy szerepeljen külön színnel.
A vízszintes sávban pedig 0-1.000.000 Ft-ig kellene skálázni.
Tudtok benne segíteni, hogy milyen lépésekkel tudom ezt megoldani?
Azt már meg tudtam csinálni, hogy soronként hozta a két cég értékét külön színnel, viszont a vízszintes sávot nem tudtam értékek közzé szorítani, illetve a függőleges tengelyre sem tudtam ráhúzni a dátum értékeket. Ha beállítom hogy az a tengely dátum legyen, akkor minden napot hoz, de nekem nincs minden napra adatom, az üres sorokat nem kellene hogy hozza.
Köszönöm%
tonermagus
aktív tag
Az előző posztot vegyétek tárgytalannak, időközben megoldottam.
Persze jött egy újabb feladat, erre viszont nem tudok megoldást:
Két cégnek van egy közös irodaháza, és kimutatás kellene arról, hogy a cég1-hez mikor léptek be legkorábban, és mikor távoztak. Ugyan ez a cég2-re. Az adatok megvannak, viszont olyan diagram kellene, amin alul egy 0-24 órás skálázás van, és a csíkok a belépés időpontjától tartanak a kilépés időpontjáig, és a két cég csíkja külön sorban van. Ezek a dupla sorok természetesen naponta újra ismétlődnek. Van erre megoldás?
lappy
őstag
vmi hasonló elképzelés
Bámulatos hol tart már a tudomány!
Fferi50
őstag
Szia!
Némi ügyeskedéssel megoldható, íme a kép:
A hozzá vezető lépések:
1. Kiszámoljuk a benntartózkodás időtartamát (G-H oszlop)
2. Az egészet átfordítjuk úgy, hogy a 2 cég belépési és benntartózkodási ideje külön-külön sorba kerüljön a dátumok mellett. (A10-D21)
3. A diagram beszúrásánál a halmozott sávdiagramot választjuk.
4. Az első sorozat ( belépés időpontja) formázása: nincs kitöltés, nincs vonal - így kvázi láthatatlanná tesszük, csak a benntartózkodási időtartam sorozat marad látható.
5. A legnehezebb: mivel a benntartózkodási időtartam egy sorozat, minden második adatbpontot át kell színeznünk. Így lesz 2 eltérő színű "sorozatunk".
6. A jobb láthatóság kedvéért a vízszintes tengely kezdőértékét 0,25 -re és a fő léptéket is 0,25 -re változtattam - mivel egy nap számít 1 egésznek, minden óra 1/24 érték az Excelben.
A diagram bővíthető, azonban a bővítés után az adatpontok átszínezése nem automatikus, hanem - sajnos - kézzel szükséges.
Természetesen a diagram kialakítása és frissítése makróval is megoldható, ha szeretnéd, azt is elkészítem, de ahhoz kell egy kis idő.
Remélem tetszik a megoldás.
Üdv.
tonermagus
aktív tag
Hát ez nagyon profi leírás! köszönöm szépen!
Mai Hardverapró hirdetések
prémium kategóriában
- ZOTAC GeForce GTX 1080 AMP Edition 8GB GDDR5X 256bit
- Filmes gép gyűjtemény
- Nikon D5000 + AF-S DX NIKKOR 18-105 mm
- Bontatlan Seagate & Western Digital HDD-k 3TB - 12TB -ig - Számla + Garancia, Ár alatt! BeszámítOK!
- DJI Mini 4 pro FMC drón - 3 akku, RC2 táv, 2 táska, Filterek, 2025. decemberig garancia, DJI Care