Hirdetés

2024. május 5., vasárnap

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

(#23501) m.zmrzlina


m.zmrzlina
senior tag

Adott 2 munkalap. Mindkettőn azonos számú sorból de változó számú oszlopból álló tartományok. Egy harmadik munkalapra össze szeretném másolni ezeket egymás mellé (azonos a sorok száma ugyebár)

Így próbálom:

1. az első munkalapot lemásolom és "összesítő" néven hozzáadom a munkafüzethez
2.meghatározom az első üres oszlop számát és változóba írom (erre a változóra később még szükség lesz)
elsoures_oszlop = wsOsszesito.Range("A1").CurrentRegion.Columns.Count + 1
3. Másolok(nék) :(
wsTemp.Range("A1").CurrentRegion.Copy Destination:=wsOsszesito.[B]???????[/B]C][/M]

Hogyan jelölöm ki a legegyszerűbben a célterületet?

(#23502) Delila_1 válasza m.zmrzlina (#23501) üzenetére


Delila_1
Topikgazda

wsTemp.Range("A1").CurrentRegion.Copy Destination:=wsOsszesito.cells(1, elsoures_oszlop)

Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.

(#23503) Imy


Imy
veterán

Ha van 3 lapom, az első kettőn vannak adataim. A 3. lapon hogyan tudok velük számolni? Azaz hogyan tudok rájuk hívatkozni?

(#23504) m.zmrzlina válasza Delila_1 (#23502) üzenetére


m.zmrzlina
senior tag

Akkor viszont valamit korábban rontottam el mert erre a megoldásra "Application-defined or object defined error" üzenettel megáll.

Pár sorral korábban így csináltam az objektum deklarálást:

Set wsOsszesito = ActiveSheet
Set wsTemp = wbTemp.Worksheets("Munka2")

(#23505) Delila_1 válasza Imy (#23503) üzenetére


Delila_1
Topikgazda

=Munka1!A1

Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.

(#23506) m.zmrzlina válasza Imy (#23503) üzenetére


m.zmrzlina
senior tag

Munka3 A1 cellájában így adod össze a Munka1 és Munka2 A1 celláját:

=Munka1!A1+Munka2!A1

(#23507) Delila_1 válasza m.zmrzlina (#23504) üzenetére


Delila_1
Topikgazda

Set wsTemp = workbooks("wbTemp.xlsx").Worksheets("Munka2")

Nem célszerű az éppen aktív lapra hivatkozni változó értékének a megadásánál.

Set wsOsszesito = sheets("Osszesito")

Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.

(#23508) m.zmrzlina válasza Delila_1 (#23507) üzenetére


m.zmrzlina
senior tag

Újraírtam az objektum definiálásokat és jó lett. Köszi.

(#23509) gyu84 válasza Retekegér (#23499) üzenetére


gyu84
tag

Heló!
A képből jól veszem ki a képből akkor vízesés diagramot szeretnél szerkeszteni.
Ez alapján meg lehet szerkeszteni egyszerűen: [link]
Vagy le is töltheted készen: [link]
:)

[ Szerkesztve ]

(#23510) cadgers


cadgers
aktív tag

Sziasztok! Olyat be lehet állítani hogy csak bizonyos felhasználók tudjanak egy adott cellát megváltoztatni?

(#23511) Delila_1 válasza cadgers (#23510) üzenetére


Delila_1
Topikgazda

2007-től Korrektúra | Változások | Tartomány módosításának engedélyezése.

Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.

(#23512) Delila_1 válasza m.zmrzlina (#23508) üzenetére


Delila_1
Topikgazda

Szivi. :)

Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.

(#23513) cadgers válasza Delila_1 (#23511) üzenetére


cadgers
aktív tag

Húha, köszönöm! Angol excelem van, de nem találok ilyet hogy "Corrections". Hol keressem?

(#23514) Delila_1 válasza cadgers (#23513) üzenetére


Delila_1
Topikgazda

Hányas verziód van?

Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.

(#23515) Retekegér válasza gyu84 (#23509) üzenetére


Retekegér
HARDVERAPRÓD

Ez az!
Nem tudtam mi a hivatalos neve, köszi szépen! :R

<< Heimdal >>

(#23516) UBO válasza gyu84 (#23509) üzenetére


UBO
csendes tag

Szia!
Épp az elmúlt héten kreáltam egyet én is mert már idegesített h nem találok normálisat ami kezeli a tengely alatti értékeket is. + extraként én csináltam hozzá egy makrót ami a megadott helyre átmásolja (és áthivatkozza a megfelelő sorokat a diagrammnál), mert sajnos a userek nem szeretnek az értékek áthivatkozásával bíbelődni amikor egy másik munkalapra kéne beintegrálni :)

(#23517) Istikee007


Istikee007
tag

Sziasztok, segítséget szeretnék kérni tőletek, egy leírást szeretnék kérni hogy hogyan tudnám folytatni a feladatot. A feladat jegyre megy, szombatig ha tudtok légyszíves segítsetek!Feltöltöttem google-drive-ra a leírás és a hozzá szükséges anyagot.

Link

Benne van az is meddig jutottam el, a második feladatban szeretném a segítségeteket kérni, az első az nem lényeges!

Innen kellene nézni mert innen nem tudtam hozzászólni:
"Számoljatok relatív energiákat (vonjátok ki az összes energia közül (nem csak az adott oszlopot nézve) ..."

[ Szerkesztve ]

(#23518) Thrawnad válasza Istikee007 (#23517) üzenetére


Thrawnad
senior tag

Ilyen helyre inkább konkrét kérdést illik feltenni:
Pl: Milyen függvénnyel keresek minimumot.
Hogy csinálok oszlop diagramot?
Ehhez hasonlók.

Thrawnad

Hardver hibára ritkán van jó szoftver...

(#23519) kutga


kutga
nagyúr

Sziasztok!

Megpróbálom érthetően leírni mire is lenne szükségem.

Adott egy méretes excel tábla, több munkafüzettel, minden munkafüzet egy megbízóhoz tartozik, adott munkafüzet adott megbízó szerződéseinek adatait tartalmazza (azonosító, tárgy, státusz, stb).

Ebből a táblából kellene készítenem egy összegezést, ami megbízónként kilistázza a szerződések tárgyát illetve státuszt (a többi adat nem lényeges).

Megoldható valahogy egyszerűen?

Let the Zone take me if I am.

(#23520) Mittu88 válasza kutga (#23519) üzenetére


Mittu88
senior tag

Úgy érted több munkalappal van egy táblázatod, és munkalaponként vannak a partnerek?

Ha igen, minden munkalapon ugyanabban a cellában található(ak) ez(ek) az adatok?

Szerk.: mivel külön munkalapon, vagy munkafüzetben vannak az adatok, szerintem egyszerűen nem lehet megoldani (bár ez relatív). Makró kell. Ahhoz értesz picit?

[ Szerkesztve ]

(#23521) Wyll válasza kutga (#23519) üzenetére


Wyll
őstag

Így néz ki?

Nem értem, elrejted a többi oszlopot, és kész a megbízónkénti összesítés.

Megbízhatóságom: http://phmegbizhatosag.atw.hu/phtabla.php?nev=Wyll

(#23522) kutga válasza Mittu88 (#23520) üzenetére


kutga
nagyúr

Igen, egy munkalap egy partner. Makrókhoz nem nagyon konyítok sajna. :P

MOD
Wyll
Igen, így néz ki. Az elrejtés még jó is lenne, ha nem lenne belőlük egy csomó, kézzel, egyenként irtó sokáig tart, és mivel gyakran változik, gyakran meg is kell csinálni. Erre keresnék valami automatizmust.

[ Szerkesztve ]

Let the Zone take me if I am.

(#23523) Mittu88


Mittu88
senior tag

Azt hogy lehet megcsinálni, hogy Accessbe becsatolva egy xlsx fájlt a számot ne DUPLA típusúnak állítsa be adott oszlopban, hanem HOSSZÚ EGÉSZ-nek?
Sajnos az "Adatforrás csatolása csatolt tábla létrehozásával" menüpontra kell mennem, hogy mindig frissítsen megnyitáskor, de így nem tudom beállítani, hogy melyik oszlopot minek ismerje fel. Utána tervező nézetben meg nem engedi menteni a módosításokat.

(#23524) m.zmrzlina válasza kutga (#23519) üzenetére


m.zmrzlina
senior tag

Szerintem ez a feladat egyszerűen megoldható (feltéve, ha jól értem a problémát).

Tegyük fel, hogy nagyjából úgy néz ki a munkafüzeted ahogy kettővel lejjebb Wyll lerajzolta
Csinálsz egy munkalapot ebbe a munkafüzetbe, legyen a neve mondjuk "összesítő"

Erre a munkalapra kialakítod a számodra legmegfelelőbb szerkezetet és a megfelelő helyekre behivatkozod azokat a cellákat aminek a tartalmát látni szeretnéd.

A képen most a cellák képleteit látod de ha beírod a képletetet akkor a hivatkozott cella tartalmát fogod látni.

(#23525) Timyyy


Timyyy
őstag

Sziasztok!

Adott egy névsor, amiben vannak mindenféle adatok, az emberek lefelé sorszámozva.
Nyomtatni akarok, de van pár ember, aki nem kell a nyomtatott listára, ezért az ő sorára rákattintok jobb egérrel, és van az az opció, hogy elrejtés. Szuper, eltűnt, csak a sorszámozás így nem passzol! Ha pl a 4. ember rejtettem el, akkor a 3-as után az 5-ös jön!
Hogyan tudnám ezt úgy kijavítani, hogy ne kézzel kelljen újrasorszámoznom az egészet nyomtatás előtt, aztán vissza, nyomtatás után????

(#23526) gyu84 válasza Timyyy (#23525) üzenetére


gyu84
tag

Heló!
Én ezt úgy oldottam meg egyszer, hogy a rendes sorszám oszlop mellé beszúrtam még egye, oda pedig a =RÉSZÖSSZEG(102;sorszám első eleme rögzítve:sorszám eleme) képletet húztam végig (102 - Darab). Ez annyit csinál, hogy megszámolja, hogy hány darab szám van az A2-től, így egy sorozatot képezve.
Pl: A2 ben kezdődik a sorszámozás, akkor a B2 képlete: =RÉSZÖSSZEG(102;A$2:A2)
Így ha elrejtesz sorokat, vagy szűrsz akkor automatikusan változik a sorszám, nem kell kézzel újraírni, az eredetit meg elrejted.

[ Szerkesztve ]

(#23527) m.zmrzlina válasza Timyyy (#23525) üzenetére


m.zmrzlina
senior tag

Vagy használd ezt a megoldást, ez is valami hasonló probléma volt.

[link]

(#23528) slashing válasza gyu84 (#23526) üzenetére


slashing
senior tag

Megelőztél de ha 102 helyett 103 használsz akkor nem is kell külön beszúrni egy új oszlopot hanem eleve a sorszám melletti oszlopban fogja összeszámolni a nem üres cellákat ( feltételezzük hogy a sorszámok mellett mindig van adat )

(#23529) Timyyy válasza m.zmrzlina (#23527) üzenetére


Timyyy
őstag

Tejóég, nekem ez kínai... :Y

(#23530) m.zmrzlina válasza Timyyy (#23529) üzenetére


m.zmrzlina
senior tag

Akkor próbáld a gyu84 megoldását. :)

Ha az nem azt adja amit szeretnél még mindig visszatérhetünk erre. :)

(#23531) gyu84 válasza slashing (#23528) üzenetére


gyu84
tag

Igaz :)

Akkor ha pl az A2-ben kezdődik a sorszám és a B-ben vannak adatok akkor az A2 képlete:
=RÉSZÖSSZEG(103;B$2:B2) ,és ezt húzod végig az oszlopban.

[ Szerkesztve ]

(#23532) nofi


nofi
őstag

Sziasztok!

Kaptam egy tervezési számításhoz készített excel-filet. Elindítom és az alábbi üzenet fogad:
Ez a munkafüzet elvesztette a VBA projektjét, az ActiveX vezérlőelemeit és minden programozással kapcsolatos képességét. / Office 2010

Ennek mi lehet az oka? Létezik, hogy valaki "védetté" tette?

Xbox GT: nozsolt

(#23533) Fferi50 válasza nofi (#23532) üzenetére


Fferi50
őstag

Szia!

Milyen a fájl kiterjesztése: xlsx, xlsm, xlsb?

Ha xlsx, akkor nincsenek benne makrók.

Üdv.

(#23534) nofi válasza Fferi50 (#23533) üzenetére


nofi
őstag

Sima .xls

Xbox GT: nozsolt

(#23535) zhari


zhari
csendes tag

Sziasztok!

Egy adott mappában lévő Excel táblák képlet számítási beállítását szeretném makróval átállítani automatikusra.

Az addig oké, hogy makrót futtatok egy adott mappa összes xls-én. De hogy tudom a képlet újra számítást automatikusra állítani?
Sub LoopThroughFiles()

FolderName = "C:\...\"
If Right(FolderName, 1) <> Application.PathSeparator Then FolderName = FolderName & Application.PathSeparator
Fname = Dir(FolderName & "*.xls")

'loop through the files
Do While Len(Fname)

With Workbooks.Open(FolderName & Fname)

' here comes the code for the operations on every file the code finds

'HERE if you want to execute the second macro for every file in the loop

'ide kéne a beállítás

End With

' go to the next file in the folder
Fname = Dir

Loop

End Sub

(#23536) Fferi50 válasza nofi (#23534) üzenetére


Fferi50
őstag

Szia!

Akkor azt korábbi verzióban csinálták és meg kellene próbálni kompatibilis módban megnyitni a 2010-es excelben.

Üdv.

(#23537) Fferi50 válasza zhari (#23535) üzenetére


Fferi50
őstag

Szia!

A számolási beállítást Excel szinten lehet átállítani a következővel.

Application.Calculation=xlCalculationAutomatic

Ha a fájl makróiban át van valahol állítva kézire, akkor viszont hiába állítod automatikusra, mert a makró "agyonüti" ezt.

Üdv.

(#23538) nofi válasza Fferi50 (#23536) üzenetére


nofi
őstag

Köszönöm! :R

Xbox GT: nozsolt

(#23539) PindurAnna


PindurAnna
Közösségépítő

Sziasztok.
2007-es office van a gépen..world-be be van szúrva egy 3 oszlopos 7 soros (a 7 sor egyesítve van) táblázat. Hogy tudom megcsinálni, hogy soronként a szöveg után pontok legyenek, mint a képen?

Galaxy S9+;Lenovo yoga 500;Gigabyte H77-DS3HPentium 840 4GB DDR3-1066, 4820GB+10000GB HDD;27"Lg W2753;TP-LINK WDL4300 router;SAMSUNG ML-1520,Epson Stylus OFFICE BX300F,Samsung Note 10.1, S7 edge

(#23540) slashing válasza PindurAnna (#23539) üzenetére


slashing
senior tag

Hát biztos vagyok benne hogy ez nem excel-ben készült hanem word-ben tabulátorokkal.

Excelben egyéni cellaformátummal(cellaformázás/egyéni) lehet csinálni hasonlót a következők beírásával: @ *. ilyenkor pontozva lesz, alsó vonással nem lesz jó mert egyenes vonal lesz belőle...

(#23541) PindurAnna válasza slashing (#23540) üzenetére


PindurAnna
Közösségépítő

Csak world-be van csinálva, nem pedig excelből beilletve van a táblázat.

Csak worldbe hogy tudom ezt megcsinálni? Egyébként ecdl vizsga feladat.

Már sikerült megcsinálni, köszönöm azért :) :R

[ Szerkesztve ]

Galaxy S9+;Lenovo yoga 500;Gigabyte H77-DS3HPentium 840 4GB DDR3-1066, 4820GB+10000GB HDD;27"Lg W2753;TP-LINK WDL4300 router;SAMSUNG ML-1520,Epson Stylus OFFICE BX300F,Samsung Note 10.1, S7 edge

(#23542) m.zmrzlina


m.zmrzlina
senior tag

A következő kérdésem lenne:

Van egy munkafüzetem abban van egy makró ami 4-5 jól ekülöníthető dolgot csinál. Elindítom a makrót szépen lineárisan elejétől a végéig lefut megteszi a dolgát, mindenki örül.

Néha azonban szükség van arra, hogy a teljes makrónak egyes részeit többször, külön is le lehessen futtatni (pl hogy két tartomány egyezőségét leelenőrizze) illetve vannak részek amiket kifejezetten nem szeretnék mindig lefuttatni többször (pl a forrás munkalapok más munkafüzetekből való importálására csak egyszer van szükség)

Az a tervem, hogy a teljes kódot egyetlen modulon belül kisebb eljárásokra szabdalom szét és ezekhez az eljárásokhoz külön parancsikonokat teszek a gyorsindítás eszköztárra.

Itt kezdődik a probléma mivel az egyes eljárások jórészt ugyanazokat a változókat használják.

Milyen tipusú változók kellenek és hogyan kell ezeket az eljárások között adni-venni?

Tudom, ez a téma sokkal bővebb mintsem egy válaszban minden részét ki lehetne vesézni, de nekem már az is sokat segít, ha valaki "irányba állít" és 600 oldal manual helyett csak pl 50-et kell elolvasnom.

[ Szerkesztve ]

(#23543) Polllen válasza m.zmrzlina (#23542) üzenetére


Polllen
nagyúr

Ha mindig az előző eljárásnál felvett érték kell az újban, akkor public változókat kell használnod. Így adott module-n belül minden sub "látja".

[ Szerkesztve ]

"Odamentem egy párhoz...négyen voltak!"

(#23544) m.zmrzlina válasza Polllen (#23543) üzenetére


m.zmrzlina
senior tag

Ez eddig oké csak mi van akkor, ha abban az eljárásban amit a teljes kódtól függetlenül részként szeretnék lefuttatni, van egy változó ami eredetileg valahol a komplett kód legelején kapott értéket. Ha csak a részt futtatom akkor ott áll a változó érték nélkül.

(#23545) Fferi50 válasza m.zmrzlina (#23542) üzenetére


Fferi50
őstag

Szia!

Paraméteresen is definiálhatod az egyes makrókat és akkor minden meghíváskor meg tudod mondani neki, hogy melyik változó melyik értékét használja.
pl. sub valami (byval valt1 as string,byref valt2 as integer)
eljárás
end sub

A byval és byref jelentőségét olvasd el a súgóban, illetve az előző hsz.-ban foglaltak miatt is a változók élettartama (variables scope) részt is.

Egy másik lehetőség:
Az egyes változó értékét "eltárolod" egy munkalap cellájába. Ide írják ki az egyes makrók az értékét és innen olvashatják ki mások az értéket. Ebben az esetben nem kell public változót használnod, sem paraméters meghívást, helyette minden eljárásból kilépéskor utolsó műveletek a változók értékeinek beírása az adott cellákba, az eljárások indulásakor pedig a változókba beolvasod a cellák értékét.

Ebben az esetben a cellákban mindig a legutoljára eltárolt érték lesz benne és az olvasható ki, így megoldódik a legutóbbi kérdésedben levő probléma is.

Üdv.

[ Szerkesztve ]

(#23546) m.zmrzlina válasza Fferi50 (#23545) üzenetére


m.zmrzlina
senior tag

Jól gondolom, hogy ha a munkalapra kiírós megoldást választom akkor az objektumváltozókat sem kell Public-ként deklarálni csak minden eljárás elején (persze csak ami használja ) értékadással kell kezdeni? Pl:

Dim wsOsszesito as Worksheet
.
.
Sub makro1()

Set wsOsszesito = ThisWorkbook.Worksheets("összesítő")

.....
End Sub

[ Szerkesztve ]

(#23547) sedyke


sedyke
tag

Sziasztok!
Van egy Excel munkalapom, melyet A/4-es oldalakra osztottam fel. Minden oldal egy külön számla, de azonos felosztással. Hogyan tudom kiszűrni belőle a számlaszámokat és a végösszegeket egy külön táblázatba? Minden számlánál a két adat ugyanott helyezkedik el, de értelemszerűen mindig ugyanannyi sorral lejjebb. Az elsőnél a számlaszám a B1-es cellában van, a végösszeg a J45-ban, másodiknál a B50 és J96 és így tovább....

(#23548) Fferi50 válasza m.zmrzlina (#23546) üzenetére


Fferi50
őstag

Szia!

Így van, elég így csinálni, de ennyi viszont kell.

Üdv.

(#23549) Mittu88 válasza m.zmrzlina (#23546) üzenetére


Mittu88
senior tag

Az esetleg nem lenne elegánsabb, ha csinálnál a module-ban egy eljárást, ami csak értéket ad a public változóknak, az eljárást pedig a Workbook_Open eseménynél meghívod?
Ergo fájl megnyitásakor kapna mindegyik public változó értéket és utána már használhatnád.

(#23550) m.zmrzlina válasza sedyke (#23547) üzenetére


m.zmrzlina
senior tag

Útvonal

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