-
Fototrend
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
-
sopruk
senior tag
válasz
Delila_1 #45627 üzenetére
Jaa, értem! Nem jeleztem, hogy nincs külön címsor. Köszönöm, hogy még erre is gondoltál!
Szuperül működik! Fantasztikus, hogy ilyen gyorsan végez vele, amire egy csomó időm rá szokott menni, meg unalmas a másolgatás. Kiszámoltam, hogy minden füzet másolása min. 12-15 műveletet igényelt (megnyitás, kijelölés, kivágás, átváltás, beillesztés, új pozícióra ugrás, visszaváltás, kijelölés megszüntetés, bezárás, file kezelőre ugrás, újabb megnyitás...), és mindezt 20-30-szor...
Még egyszer nagyon köszönöm a segítséget, rengeteg időt spóroltál meg nekem ezzel! Hálám örökké üldözzön! -
sopruk
senior tag
válasz
Delila_1 #45621 üzenetére
Nos igen, sejtettem, hogy valamelyik fogalmat rosszul fogom értelmezni.
Amikor 20+ éve tanultam ezeket, nem volt még Füzet elnevezés, vagy csak nem figyeltem jólSzóval igen, 20-30 külön Füzetben vannak a táblázatok. Mindegyikben csak az az egy Fül található...
Mivel hamarosan újra lesz telepítve a gép, ezért létrehoztam egy útvonalat, amit bármely gépen létre tudok majd hozni:
c:\Kivonatok\
Ide mindig át tudom másolni az egyesítés idejére őket...Az összegző táblázatnak egy külön füzetet szoktam létrehozni...
Nagyon köszönöm hogy időt fordítasz a segítségre!!!
-
sopruk
senior tag
válasz
Delila_1 #45613 üzenetére
Külön-külön táblázatban található mind a 20-30
Az A1 cellától az N1-ig találhatóak benne az adatok soronként
Viszont változó, hogy hány sort tartalmaz. Van hogy csak 1-2, de akár 20-30 sort is.
Az összegző táblát én hozom létre egy üres táblázatot és az A1 cellától kezdem a bemásolást... -
p5quser
tag
válasz
Delila_1 #45604 üzenetére
Köszönöm!
Ő vele az a bajom, hogy mindig munka2 lap utolsó sorától kéne kezdődnie az új értékeknek és ha behelyettesítem az utolsó sor számát, minden értéket ugyanabba a sorba ír a munka2 lapon. Nomeg persze a másolando range is változó hosszúságú, bár ugyanattól a ponttól kezdődik mindig (A10). -
Lulu új
lelkes újonc
válasz
Delila_1 #45585 üzenetére
Köszönöm a segítséget!
December 17-ig megvizsgáltam az elhalálozott COVID 19 betegek alapbetegségeinek előfordulását.
Összes elhunyt beteg: 7522 fő
Összes betegség: 1290 (egyes betegségek több elnevezéssel is szerepelnek, amit tudtam, azokat összevontam)
Elhunytak átlag életkora: Nőknél 78,5év, férfiaknál 73,1 év.
Az első 30 leggyakrabban előforduló betegségek és %-os aránya:
magas vérnyomás
27,52%
cukorbetegség
8,04%
iszkémiás szívbetegség
3,76%
demencia
3,15%
krónikus vesebetegség
2,35%
szívelégtelenség
2,29%
COPD
2,29%
szívritmus zavar
1,66%
veseelégtelenség
1,66%
szívbetegség
1,66%
pitvar fribrilláció
1,62%
érelmeszesedés
1,38%
adat feltöltés alatt
1,18%
daganat
1,13%
vérszegénység
1,08%
Parkinson kór
1,01%
Stroke
0,98%
tüdőgyulladás
0,93%
agyi infarktus
0,90%
pangásos szívelégtelenség
0,78%
Alzheimer kór
0,77%
asztma
0,76%
tüdőbetegség
0,72%
epilepszia
0,63%
érszűkület
0,59%
általános érelmeszesedés
0,58%
reflux
0,58%
elhízás
0,58%
csontritkulás
0,49%
tüdődaganat
0,47% -
repvez
addikt
válasz
Delila_1 #45428 üzenetére
Ma is megnéztem, hogy 2 eltérő napon hogy működik.
A dátum és a sorváltás jó.
Viszont az lehet, hogy nem volt teljesen világos, hogy a H2-H20 ig lévő adatokat minden alkalommal vigyen át a másik lapra is, ha változik ha nem
Tehát a H2es cella tartalma ,minden alkalommal a munka2 B oszlopának arra a napra metszésben lévő sorába kerüljön,
A H3as oszlop a Munka2 C oszlopára, a H4es a D re és igy tovább a H20- munka2 T oszlopig.
A következő nap meg új sorba előröl újra az egész.Most csak egy adatot visz át , de úgy nézem , hogy naponta egyel ugrik lejjebb, mert ma a H9es cellában lévő adatot vitte át a munka2es lap b3es cellájába , tegnap meg a H8as cella adatát hasonló B2 pozícióba a munka 2es lapon.
-
repvez
addikt
válasz
Delila_1 #45425 üzenetére
Lehet félreérthető voltam a megfogalmazásban .
Müködik a macro, viszont valami nem teljesen jó, mert csak a H8as adatot viszi át a munka2 B2es cellájába.
viszont most jo, hogy a dátim az csak az A cellába jelenik meg és modositott értéknél is felulirja az adott adatot.
-
repvez
addikt
válasz
Delila_1 #45412 üzenetére
Köszi. igy muködi k arra a cellára
ÉS , hogy tudom ezt többszörözni?
Gondolom, hogy az
Valami ilyesmi kellene:Private Sub Worksheet_Change(ByVal Target As Range)
Dim ide As Long
If Target.Address = "$H$2" Then
If Target1.Address = "$H$3" Then
With Sheets("Munka2")
ide = .Range("A" & Rows.Count).End(xlUp).Row + 1
.Range("A" & ide) = Date
.Range("B" & ide) = Target
.Range("C" & ide) = Target1
End With
End If
End Sub
Csak mert igy hibát kapok
-
KBaj
kezdő
válasz
Delila_1 #45369 üzenetére
Kedves Fferi50 és Delila_1 !
Köszönöm Delila_1, hogy Te is bekapcsolódtál a beszélgetésbe. Érdekes a javaslatod, de kezdő vagyok és nem nagyon értem minden sorát. Különösen az Application.Volatile sort, miért kell bele? A CV > 40 sornál mi a 40-es szám?
Időközben kísérletezgetek: VBA futtatását Hibakeresés módszerrel: a kód sorokban megállító pöttyöket helyezek el és így vizsgálom, hogy hogyan változnak a változók.
Egy másik szintén félig kész függvényen érdekes dolgot tapasztaltam. A függvény eleje a későbbi programban felhasználandó változók kezdő értékét tartalmazza, konstans, munkalap cella konstans, munkalap cella, mely beépített függvény szerinti kiszámított értéket adja a cellának. Azonban az első két módszer szerint rendben megy, de a beépített függvény szerinti értékadást egyszerűen kihagyja (a példa szerinti a = Cells(12, Kezd) sor). A megállás helyét sárga színnel jelzett állapotban a kurzort a változó fölé víve Empty hibát mutat, pedig utána is elvégzi a munkát.
Továbbá egy ponttól nem megy tovább, kilép. Pedig nem szokatlan programsort kellene végrehajtania. Úgy tudom (és remélem jól tudom), hogy a VBA a programot ahogy látható a szerkesztő ablakban föntről lefelé, sorban egymás után kell végrehajtani. Ime a kódrészlet:
Function Poisson2(Feltétel2 As Range) As Long
Call kep_ki
k = 0
Kezd = Cells(8, 7)
Kezd5 = Kezd + 5
a = Cells(12, Kezd)
Előford = Kezd + a
Valószín = Előford + 90
Várak = Valószín + 90
Us = Cells(4, 7) + Cells(2, 7)
Cikl = Cells(5, Előford + 1)
Cells(6, Előford + 1) = Cikl
Range(Cells(Cikl + 1, Kezd + 1), Cells(Us, Kezd + 15)).ClearContents
Az utolsó előtti sort még végrehajtja (ez a megállás helye szerinti sor), az utolsót viszont nem, visszatér a munkatáblához Erték hibával.
Kedves Fferi50 bejegyzésedben a Cella.DisplayFormat.Interior.Color(index) utasítsró írsz. A fenti programrészletben nincs ilyen, mégsem emészti meg a VBA.
(Nekem is 2016 Excel van)
Üdvözlettel:
KBaj -
Fferi50
Topikgazda
válasz
Delila_1 #45367 üzenetére
Szia!
Azért az tiszta őrület, hogy amikor végre megalkották a DisplayFormat -ot, hogy ne kelljen a feltételes formázással küzdeni pl. a színek vizsgálatánál, akkor felhasználói függvénnyel nem működik. Normál eljárással - paraméterezve is - működik - , de abban az esetben, ha ezt függvényből hívnánk meg a munkalapon, azonnal hibát okoz.
Mivel a Cella.Interior.Color(index) működik felhasználói függvény formában is, a Cella.DisplayFormat.Interior.Color(index) viszont nem, feltételezhetően valami apró bug lehet a megalkotásában. Elhatároztam, hogy jelezni fogom a MS oldalon. Kíváncsi vagyok, mit válaszolnak majd.
(Nálam 2016-os Excel fut, de a magasabb verzióban is fennáll a jelenség....)
Üdv. -
Delila_1
veterán
válasz
Delila_1 #45295 üzenetére
Egy kis magyarázat az előbbihez, mert a MEDIÁN függvény nem túl közismert.
A függvény az argumentumában megadott számok középértékét adja.
A példában 3 érték szerepel, a D2, és a hozzá tartozó L2 és M2 érték. Az utóbbi kettőt az FKERES függvénnyel találjuk meg aK:M
tartományban. Ha a D2 nem egyenlő a 3 szám középértékével (nem középre esik), akkor a képlet értéke IGAZ, és piros lesz a háttér. -
Misi_D
tag
válasz
Delila_1 #45221 üzenetére
Köszi!
Excelben már megy nekem is, nem ez a gond.
Túl nagy a csv fájl, s mivel a 90%-a haszontalan adat, már a betöltéskor/közben meg szeretném szűrni. Tehát olyan megoldást keresnék, ami során sql-el (vagy M vagy DAX....) meg tudnám szűrni "on the fly" a csv tartalmát. -
Lokids
addikt
válasz
Delila_1 #45211 üzenetére
Köszi a választ.
Nem rossz ötlet, hogy case-el megadom, hogy melyik szám melyik év/hónapot takarja.
De akkor sem kerülöm ki azt, hogy tíz év esetén 120 caset kelljen rögzíteni.Kis pontosítás: A makró egy másik listából dolgozik, ahol 1 sor 1 beszerzés.
Itt van olyan tétel, hogy szerződéskötés dátuma és szerződés összege.
A makró által létrehozott új munkafüzetben a fejléc az az év+hónap (2020.01 -> 2023.12) lesz.A lényeg, hogy ha a dátum 2022.01.22, akkor a Szerződés összegét a 2022. 01oszlopba rakja
-
Zoty4
őstag
válasz
Delila_1 #45202 üzenetére
lehet rosszul fejeztem ki magamat.
Ezt a függvényt szeretném úgy modosítani hogy a többi munkalapról is be tudja kérni az adatokat:
=INDEX(Munka1!$A$1:$G$6;HOL.VAN($A2;Munka1!$A:$A;0);HOL.VAN(B$1;Munka1!1:1;0))
Ha csinálok egy 10-es összehasonlítást akkor mindegy melyik lapon legyenek, meg tudja jeleníteni.
Csak előfordulhat h munka1 és munka2-n is szerepelhet ugyanaz az árú, ez nem hiszem h gond, csak megemíltettem -
Zoty4
őstag
válasz
Delila_1 #45171 üzenetére
Szia
Ezt ki lehetne terjeszteni úgy hogy ne csak a munka1 hanem a munka2, munka3, munka4 területekről is kigyűjtse a termékeket?
Van ami csak egyik munkalapon van, de lehetnek átfedések is (nyilván ugyanazokkal az adatokkal)
Szóval ne csak munka1-ben keresse hanem mindenhol -
Zoty4
őstag
válasz
Delila_1 #45144 üzenetére
Szia
Így működik nekem a lekérdezés, ha a B3-ba rakom a lekérdezni valót:
=INDEX('[Actual.xlsx]munka'!$A$1:$AM$505;HOL.VAN($B$3;'[Actual.xlsx]munka'!$B:$B;0);HOL.VAN(D$2;'[Actual.xlsx]munka'!5:5;0))De szeretnék további lekérdezéseket betenni.
Miért van az hogy a b3-ba írt szövekhez kilistázza a dolgokat, de a b4-nél egy másikat már nem? B3-at átírtam ott B4-re, de azt írja hogy hiányzik -
-
válasz
Delila_1 #45159 üzenetére
Azt sem tudom, hogy mivel kapcsolatban kérdez. Visszakerestem, hogy nem-e esetleg egy korábban feltett problémával kapcsolatos a mostani kérdése, de ezt megelőzően 2020.06.16-ban volt utoljára hozzászólása.Én ennyit látok a mostani hozzászólásából. Te estleg nem?Erre hogyan lehet rendesen válaszolni? -
-
zsolti_20
senior tag
-
zsolti_20
senior tag
válasz
Delila_1 #44995 üzenetére
A legjobb lesz ha bedobom ide a telejs kódrészletet ami a másolásért felel.
Dim xlApp As Application
Dim xlBook As Workbook
Dim Sh As Object
Set xlApp = CreateObject("Excel.Application")
Set xlBook = xlApp.Workbooks.Open(sFileName)
xlBook.Sheets(6).Range("H4").Copy
xlApp.DisplayAlerts = False
xlBook.Close
xlApp.Quit
Set xlBook = Nothing
Set xlApp = Nothing
Set xlBook = ActiveWorkbook
Set Sh = xlBook.Sheets("Transactions")
Sh.Activate
Range("C339").Select
Sh.Paste
Range("C339").Select
Set xlApp = CreateObject("Excel.Application")
Set xlBook = xlApp.Workbooks.Open(sFileName)
xlBook.Sheets(6).Range("J5:K20").Copy
xlApp.DisplayAlerts = False
xlBook.Close
xlApp.Quit
Set xlBook = Nothing
Set xlApp = Nothing
Set xlBook = ActiveWorkbook
Set Sh = xlBook.Sheets("Transactions")
Sh.Activate
Range("A342").Select
Sh.Paste
Range("A342").Select
-
zsolti_20
senior tag
-
zsolti_20
senior tag
válasz
Delila_1 #44977 üzenetére
Köszönöm sikerült megoldani.
És hirtelen lett is egy másik problémám.
A cella tartalma mondjuk "kecske: 550". Ha ezt átiratom egy másik cellába a "=SUBSTITUTE(A1;"kecske";"")" hogy csak a szám maradjon meg belőle, valami oknál fogva nem tudok vele számolni =SUM-al.
Ennek mi lehet az oka? -
Sprite75
tag
válasz
Delila_1 #44880 üzenetére
Nekem az nem akar összejönni
Az Auto.ment.rendeles szöveget ezt én irtam így, az nem egy makro neve.
A mentés egy hálózaton található gépre történik \\KHAZASERV\Rendeles\PDF-RENDELES\ ebbe a mappába. Az elkészült file neve pedig ilyen formátumú Auto.ment.rendeles.2020.09.22. 07-37.pdf Amiben ugye a datumot, és az óra percet automatikusan irja a file nevébe a mentéskor.Ezért nem érem hogy mik lellene csinálni ebben az "Auto.ment" -nek?
If Left(ActiveWorkbook.Name, 9) = "Auto.ment" Then
-
jackal79
aktív tag
-
zsolti_20
senior tag
válasz
Delila_1 #44672 üzenetére
Kifutottam szerkesztesi idobol.
Szoval a lenyeg az hogy az error 2042 kb annyit jelent hogy a visza kapott eredmeny az N/A amit valamiert ne mtud valtozokent kezelni. Erre talaltam megoldast ezzel a par sorral.Dim vreturn as variant
vreturn = Application.Match(CurrentShipment, Range("A1:A5"), 0) '
this could be anyfunction like a vlookup for example as well
If IsError(vreturn) Then '
handle error
Else
CurrentRow = cint(vreturn)
End If
-
zsolti_20
senior tag
válasz
Delila_1 #44672 üzenetére
Sajnos megsem oldotta meg a problemat. Ha eltero a cellak mennyisege akkor mindig ugyan azt a hibat kapom. Sajnos kijatszani sem tudok ezt mivel egy masik excel filebol masolom at az infot igy ures cellat fogok kapni es errort fog vissza dobni. Az a furcsa hogy magaban viszont mukodik dolog.
-
zsolti_20
senior tag
válasz
Delila_1 #44636 üzenetére
Koszonom ez igy mukodhet. Csak lekell kerdeznem a jelenlegi idot, illetve a file krealasi idejet es ha meg egyezik akkor varjon mondjuk 2 percet mielott lekeri az adatokat. Lehetseges ugy lekerdezni a jelenlegi idot es a krealas idejet hogy masodperc nelkul kapjam meg?
-
KBaj
kezdő
válasz
Delila_1 #44626 üzenetére
Kedves Delila_1
Nagyon sajnálom tudatlanságom miatt nem kaptad meg korábbi levelemet. Bocsánatodat kell kérnem, most újból elküldöm a korábban Fferi50-nek írott leveleimet.Üdvözöllek Kedves Fferi50! és Üdvözöllek Kedves Delila_1!
Meglepődtem, talán gyorsabbak vagytok mint a gépem. De félre a tréfával, köszönöm a válaszokat. Viszontválaszomat igyekszem egy-két szavas idézet után megadni:
„leállítanod a futást” : Természetesen annyit már tudok, hogy ha valami folyamatot félbeszakítunk, az nincs kész. Nem is néztem annak az eredményét. Örültem, hogy nem vesztettem el a fájlt, nem kellett újra indítani a gépet.
„bemenő adat egy képletnél egy másik képlet eredménye”: A többszintű képletezést azt hiszem már értem. Azt nem értem miért befolyásolja ez a számítást. Úgy emlékszem, hogy az Excel felülről lefelé és balról jobbra irányba hajtja végre a számolást. A VBA pedig ahogy a szerkesztőben látom felülről lefelé végzi el az utasításokat. Szerintem amit el kell végezni azt el kell végezni, függetlenül attól, hogy az milyen hosszú vagy újabb bemenő adat-e. Javítsál ki legyél szíves, ha nem jól gondolkodom. Ha ugyanis nem várná meg az egyik utasítás a másik elkészültét, nagy káosz lenne.
„képleteket egymásba építjük” : Ezt a törekvést is valószínűleg értem. De szerintem a „végtelenségig” nem lehet egymásba építeni. Ugyan nem ismerek gépi korlátokat de emberit igen: külalak, logika, átláthatóság, hibakeresés, stb.
„nagyméretű fájloknál” : Természetesnek tartom, hogy vastagabb könyvet tovább tart elolvasni, még ha gyorsan is tudok olvasni.
„Alt billentyűről” és „futás végén egy újabb számolást” : Ami jelenleg jobban izgat: az alt billentyű. Kipróbáltam a programomat: Vannak „szerintem” jó adataim (hosszú Long típusúak), amin mérni tudom az eltéréseket. Egy-egy ciklust futtattam mindig ugyanazzal a bemenő adatokkal, futás közben nem nyúltam semmihez csak az alt billentyűhöz. Felváltva indítottam a ciklusokat, egyszer normál módon, másszor indítás után bal oldali alt billentyű lenyomásával. A normál módú futás ideje 3 perc volt, az alt billentyűs 1 perc 07 másodperc. Öt futást néztem, a futások ideje közötti eltérés elenyésző volt: 2-3 másodperc, ami mérési hibának is tekinthető. De az eredmények igazolták korábbi írásomat. A normál futás minden egyes eredménye (számítógéphez híven) megegyezett az eredeti adatsorral, igaz nem néztem csak 4 tizedes jegyet. Az alt billentyűs futásnál az első kettő adat megegyezett, a többi három mindig más és más volt.
Ennyire jutottam. Kérdésekre szívesen válaszolok.
Köszönettel:Kedves Fferi50!
Köszönettel olvastam a leveledet. A képletekről írottak nehezen mennek bele a fejembe. De ha így is van, megoldja a programozó, vagyis oldja meg, figyeljen oda. Jó következtetésre jutottam? Különben azóta beépítettem egy külön elindítható leglassabb számolással számoló rutint, ami jelez ha a megfelelő helyen nem ugyanolyan számot talál, nem csak 4 tizedest vizsgálva hanem amennyit lehet.
Az alt billentyű gyorsító hatását nem direkt kerestem és használtam, hanem véletlenül fedeztem fel. Szerintem azért lehet érdekes másoknak is, mert futás közben véletlenül is meg lehet nyomni (gondolok itt az elvetemült felhasználóra), és ha olyan a program, hibás eredményt hozhat.
A minta feltevése nem olyan egyszerű. Több nehezebben megoldható problémával is szembe kell néznem. Az előbbiekben említett programrész egy nagy fájlnak a része. Kísérletezek és sok minden van a fájlban. Néhány jellemzője: Totál Commander szerint 23,8 MB hosszú, van benne 31 db munkalap (nem üresek) , 13 db modul több oltalas VBA-val. Igaz találkoztam már nagyobbal is. Nem egyszerű ezt úgy megtisztítani, hogy publikus legyen, de ha sikerül megküldöm.
Köszönettel:
ui: Most vettem észre, hogy Delila is írt és hiányolja a válaszomat.
Sűrű elnézést kell kérnem Tőle, nem tudom jól használni a weboldalt: azt hittem, hogy amit Ferinek írok azt látja Ő is. Ezért a legutolsó komplett bejegyzésemet és ezt a bejegyzést is megküldöm Neki.
Üdvözlettel. -
majomfej
kezdő
válasz
Delila_1 #44606 üzenetére
Ittvan amire én gondolok:
az A oszlopot meghagytam normál módon, B oszlopot 2 részre osztottam, a C-t pedig 3-ra, ezt szeretném de úgy hogy akár 20-30 részre is lehessen osztani aztán szétkelljen húzni a C fejlécet hogy látható legyen a teljes tartalma, lehetséges ezt?
-
Új hozzászólás Aktív témák
- Telefon felvásárlás!! Samsung Galaxy Note 10+/Samsung Galaxy Note 20/Samsung Galaxy Note 20 Ultra
- GYÖNYÖRŰ iPhone 13 mini 128GB Midnight -1 ÉV GARANCIA - Kártyafüggetlen, MS3316
- HP EliteBook x360 1040 G8 i7-1185G7 32GB 512GB 2in1 1 év garancia
- GYÖNYÖRŰ iPhone 12 Pro 128GB Graphite-1 ÉV GARANCIA - Kártyafüggetlen, MS3669
- Lenovo ThinkPad T14s Gen 2 i5-1135G7 16GB 512GB 1 év garancia
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: NetGo.hu Kft.
Város: Gödöllő