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ó Spyra: akkus, nagynyomású, automata vízipuska
- 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
Általános témák
LOGOUT.hu témák
- [Re:] [GoodSpeed:] Windows 11 PRO FPP (Full Packaged Product) - Retail, Box, dobozos
- [Re:] [gban:] Ingyen kellene, de tegnapra
- [Re:] eBay-es kütyük kis pénzért
- [Re:] [sziku69:] Szólánc.
- [Re:] [Luck Dragon:] Asszociációs játék. :)
- [Re:] [sziku69:] Fűzzük össze a szavakat :)
- [Re:] [bb0t:] Gyilkos szénhidrátok, avagy hogyan fogytam önsanyargatás nélkül 16 kg-ot
- [Re:] Spyra: akkus, nagynyomású, automata vízipuska
- [Re:] [Mr Dini:] Mindent a StreamSharkról!
- [Re:] Elektromos rásegítésű kerékpárok
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
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?
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.
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?
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")
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.
m.zmrzlina
senior tag
Munka3 A1 cellájában így adod össze a Munka1 és Munka2 A1 celláját:
=Munka1!A1+Munka2!A1
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.
m.zmrzlina
senior tag
Újraírtam az objektum definiálásokat és jó lett. Köszi.
gyu84
tag
cadgers
aktív tag
Sziasztok! Olyat be lehet állítani hogy csak bizonyos felhasználók tudjanak egy adott cellát megváltoztatni?
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.
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.
cadgers
aktív tag
Húha, köszönöm! Angol excelem van, de nem találok ilyet hogy "Corrections". Hol keressem?
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.
Retekegér
HARDVERAPRÓD
Ez az!
Nem tudtam mi a hivatalos neve, köszi szépen!
<< Heimdal >>
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
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.
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 ]
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...
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.
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 ]
Wyll
őstag
kutga
nagyúr
Igen, egy munkalap egy partner. Makrókhoz nem nagyon konyítok sajna.
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.
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.
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.
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????
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 ]
m.zmrzlina
senior tag
Vagy használd ezt a megoldást, ez is valami hasonló probléma volt.
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 )
Timyyy
őstag
Tejóég, nekem ez kínai...
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.
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 ]
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
Fferi50
őstag
Szia!
Milyen a fájl kiterjesztése: xlsx, xlsm, xlsb?
Ha xlsx, akkor nincsenek benne makrók.
Üdv.
nofi
őstag
Sima .xls
Xbox GT: nozsolt
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
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.
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.
nofi
őstag
Köszönöm!
Xbox GT: nozsolt
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
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...
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
[ 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
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 ]
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!"
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.
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 ]
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 ]
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....
Fferi50
őstag
Szia!
Így van, elég így csinálni, de ennyi viszont kell.
Üdv.
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.
m.zmrzlina
senior tag
A tiédhez nagyon hasonló probléma volt itt.
Mai Hardverapró hirdetések
prémium kategóriában
- EDIFIER R1700BTS hangfal pár makulátlan, új állapotban, 2 év hivatalos garanciával, alkalmi áron
- LG OLED55B23LA 2 Év GYÁRI GARANCIA
- Apple iPhone XR 128GB, Kártyafüggetlen, 1 Év Garanciával
- Gamer PC , i7 12700KF , RTX 3080 Ti , 64GB DDR5 , 960GB NVME , 1TB HDD
- Intel PC , i5 8500 , 1660 6GB , 32GB DDR4 , 512GB NVME , 500GB HDD