Hirdetés

2024. április 25., csütörtök

Gyorskeresés

Útvonal

Fórumok  »  OS, alkalmazások  »  Microsoft Excel topic (kiemelt téma)

Téma összefoglaló

Téma összefoglaló

  • Utoljára frissítve: 2023-11-13 08:31:56

LOGOUT.hu

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.

Összefoglaló kinyitása ▼

Hozzászólások

(#48851) lappy válasza Salex1 (#48850) üzenetére


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!

(#48852) Lasersailing


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!

(#48853) Salex1 válasza lappy (#48851) üzenetére


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.

(#48854) lappy válasza Salex1 (#48853) üzenetére


lappy
őstag

vmi ilyet szeretnél akkor?

Bámulatos hol tart már a tudomány!

(#48855) Fire/SOUL/CD válasza Salex1 (#48853) üzenetére


Fire/SOUL/CD
félisten

Akkor erre gondolt a költő?

Ha igen, akkor készíts már egy képet, hogy ezen cellákhoz képest hova kellene szétbontogatni őket...

Mindenki tudja, hogy bizonyos dolgokat nem lehet megvalósítani, mígnem jön valaki, aki erről nem tud, és megvalósítja. (Albert Einstein)

(#48856) Dilikutya válasza lappy (#48849) üzenetére


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.....)

(#48857) Salex1 válasza Fire/SOUL/CD (#48855) üzenetére


Salex1
senior tag

Bocsánat, hogy nem volt érthető. Így tényleg könnyebb lesz:

(#48858) Delila_1 válasza Salex1 (#48857) üzenetére


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.

(#48859) Salex1 válasza Delila_1 (#48858) üzenetére


Salex1
senior tag

Köszönöm! Kipróbálom.

(#48860) Jazz


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

(#48861) lappy válasza Jazz (#48860) üzenetére


lappy
őstag

ha ez a gyári adat akkor nem

Bámulatos hol tart már a tudomány!

(#48862) BullZeye


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.

(#48863) BigBadPlaYeR válasza BullZeye (#48862) üzenetére


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."

(#48864) jerry311 válasza BullZeye (#48862) üzenetére


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

(#48865) 3DFan válasza Fire/SOUL/CD (#48817) üzenetére


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.

(#48866) lappy válasza 3DFan (#48865) üzenetére


lappy
őstag

https://www.extendoffice.com/documents/excel/4022-excel-combobox-multiple-columns.html

Bámulatos hol tart már a tudomány!

(#48867) 3DFan válasza lappy (#48866) üzenetére


3DFan
aktív tag

Köszönöm.

(#48868) 3DFan


3DFan
aktív tag

Hogyan tudom a képen látható adatokat rendezni, hogy külön oszlopba kerüljön a név, származás, nyeremény? Köszönettel.

(#48869) föccer válasza 3DFan (#48868) üzenetére


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.

(#48870) 3DFan válasza föccer (#48869) üzenetére


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)

(#48872) snorbi82


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

(#48873) Delila_1 válasza Lasersailing (#48871) üzenetére


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.

(#48874) Magnat válasza snorbi82 (#48872) üzenetére


Magnat
veterán

Szia,

igen, pl PowerQueryvel.

̿' ̿'\̵͇̿̿\з=(◕_◕)=ε/̵͇̿̿/'̿'̿ ̿

(#48875) Fferi50 válasza Lasersailing (#48871) üzenetére


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.

(#48876) Lasersailing válasza Delila_1 (#48873) üzenetére


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.

(#48878) Lasersailing válasza Fferi50 (#48875) üzenetére


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 ]

(#48879) Fferi50 válasza Lasersailing (#48878) üzenetére


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.

(#48880) Melorin


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? :D

[ Szerkesztve ]

(#48881) lappy válasza Melorin (#48880) üzenetére


lappy
őstag

amíg nem tudjuk mi a feladat addig nem is tudunk segíteni semmilyen formában :D

[ Szerkesztve ]

Bámulatos hol tart már a tudomány!

(#48882) Melorin válasza lappy (#48881) üzenetére


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.
:B

[ Szerkesztve ]

(#48883) Fferi50 válasza Melorin (#48882) üzenetére


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.

(#48884) Kogamba


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!

(#48885) Delila_1 válasza Kogamba (#48884) üzenetére


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.

(#48886) Pityke78


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 :R

[ Szerkesztve ]

(#48887) lappy válasza Pityke78 (#48886) üzenetére


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!

(#48888) Pityke78 válasza lappy (#48887) üzenetére


Pityke78
őstag

Szuper, köszi! :C

É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 :R

(#48889) lappy válasza Pityke78 (#48888) üzenetére


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!

(#48890) Pityke78 válasza lappy (#48889) üzenetére


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 ]

(#48891) ny.janos válasza Pityke78 (#48890) üzenetére


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)

(#48892) ny.janos válasza Melorin (#48882) üzenetére


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]

(#48893) Lajos.P


Lajos.P
csendes tag

(#48894) Delila_1 válasza Lajos.P (#48893) üzenetére


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.

(#48895) tonermagus


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%

(#48896) tonermagus


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?

(#48897) lappy válasza tonermagus (#48896) üzenetére


lappy
őstag

vmi hasonló elképzelés

Bámulatos hol tart már a tudomány!

(#48898) Fferi50 válasza tonermagus (#48896) üzenetére


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.

(#48899) tonermagus válasza Fferi50 (#48898) üzenetére


tonermagus
aktív tag

Hát ez nagyon profi leírás! köszönöm szépen!

(#48900) Fferi50 válasza tonermagus (#48899) üzenetére


Fferi50
őstag

Szia!
Használd egészséggel!
Üdv.

Útvonal

Fórumok  »  OS, alkalmazások  »  Microsoft Excel topic (kiemelt téma)
Copyright © 2000-2024 PROHARDVER Informatikai Kft.