Hirdetés
- Hieronymus: Kalózkodás. Kalózkodás? hozzászólás
- Luck Dragon: Asszociációs játék. :)
- bambano: Bambanő háza tája
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- sh4d0w: Kalózkodás. Kalózkodás?
- bambano: A sor végén
- sziku69: Fűzzük össze a szavakat :)
- Mr Dini: Mindent a StreamSharkról!
- sziku69: Szólánc.
- Gurulunk, WAZE?!
-
LOGOUT
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
-
gsc73
aktív tag
Sziasztok!
Gondoltam leírom a dárumformátummal kapcsolatos végleges megoldást.
If Cells(x, 1).NumberFormat = "General" Then
Cells(x, 1) = Right(Cells(x, 1), 5)
Else
Cells(x, 1).Select
Selection.NumberFormat = "h:mm;@"
End IfEbben az esetben teljesen mindegy hogy az Excel minek ismeri fel az adott cellát, vagy milyen formátumban küldik, az eredmény egységes lesz.
Üdv: g.
-
dtpeter
csendes tag
Meg lehet ezt csinálni automatikusra is szerintem, nem szükséges a gomb. A visual basic szerkesztőben válaszd ki bal oldalon az összesítő lapodat, majd középen fent azt a részt, ahol most jó eséllyel (General) szöveget látsz, állítsd át Worksheetre, és a mellette lévő lévő részt pedig Activate-re.
Ekkor kapsz egy
"Private Sub Worksheet_Activate()End Sub"
szöveget. Na, e közé a két sor közé illeszd be a Delila_1 által írt kódot (persze a Sub... és End Sub nélkül). Ez azt fogja eredményezni, hogy minden alkalommal, amikor más lapról átlépsz az összesítő lapodra, lefut a kód. Arra érdemes figyelni, ez csak akkor jó megoldás, ha az összesítő lapon lévő eredmény cellából más lapon nem dolgozol.Van még pár lehetőség, hogy milyen eseményhez lehet rendelni a kód lefutását, pl. olyan is van, ami akkor indítja el a programodat, ha megváltozik az adott munkalapon bármelyik cella. Ezt mondjuk érdemes lenne feltételhez kötni, hogy mely oszlopok változása esetén frissítgesse az eredménycellát, teljesen felesleges mindig elvégeztetni vele az összeszámolást. Ezt meg úgy tudod megcsinálni, hogy bal oldalon a ThisWorkbook-ot választod, középen fent Workbook-ra állítod a (General) részt, és jobb fent SheetChange-et választasz a legördülő menüből.
Ekkor ilyesmi szöveget látsz majd:
"Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
If Target.Column = 8 Then
MsgBox "Most számol :)"
End If
End Sub"A középen lévő részt én írtam be, a msgbox-os sor helyére tedd Delila_1 kódját. Az eleje meg csak annyit jelent, hogy ha a 8. oszlop (azaz a H oszlop, amit emlékeim szerint összegezni szeretnél) változik, akkor indítja az összegzést.
Alapesetben az első variációt választanám, mert az csak akkor számol, amikor tényleg meg akarod nézni az eredményt. Ennek a másodiknak akkor van értelme, ha az eredménycellára más helyen hivatkozol, és fontos, hogy minden egyes változtatás után azonnal friss adatok álljanak rendelkezésre.
-
Delila_1
veterán
-
gyga
senior tag
na még 1 és igérem nem zaklatlak ma
minden működik rendesen csak ha változik vmi adat az összeadandó helyeken akkor magától nem módosítja az összegzőben csak ha lefuttatom a makrót.
ilyen auto számolásra gondolnék ha lehet. -
Delila_1
veterán
Sub SubTotal()
ucso = Worksheets.Count
For lap = 2 To ucso
Sum = Sum + Sheets(lap).Cells(154, 12)
Sum1 = Sum1 + Sheets(lap).Cells(155, 12)
Sum2 = Sum2 + Sheets(lap).Cells(156, 12)
Next
Sheets("Összesítő").Cells(154, 12) = Sum
Sheets("Összesítő").Cells(155, 12) = Sum1
Sheets("Összesítő").Cells(156, 12) = Sum2
End SubEzt vidd be az előző helyére.
-
Delila_1
veterán
Sub SubTotal()
ucso = Worksheets.Count
For lap = 2 To ucso
Sum = Sum + Sheets(lap).Cells(154, 12)
Next
Sheets("Összesítő").Cells(154, 12) = Sum
End SubEzt a makrót vidd be. Alt+F11-re bejön a VB szerkesztő. Bal oldalon megtalálod a füzeted nevét, az előtte lévő + jelre kattintasz. Insert menü, Module. Jobb oldalon kapsz egy üres fehér oldalt, oda másold.
Ha az összesítő lapod neve nem Összesítő, a makróban írd át.
Ha az összesítőn az eredményt nem az L154 cellában szeretnéd látni, a Cells(154,12)-ben írd át az értékeket. a 154 a sor száma, a 12 az oszlopé (A oszlop=1, B oszlop=2, ... Loszlop=12). -
gsc73
aktív tag
válasz
Delila_1
#5782
üzenetére
Sziasztok!
Közeledünk a tökéleteshez….

Az elválasztó karakter problémaköréből adódó nehézségeket sikerült megoldanom.
Detektálásért köszönet Delila_1 –nek…………
(On Error Goto….)
Szétválasztásért köszönet Cuci3-nak…………
(Adatok/Szövegből oszlopok)
Makró rögzítés. Kis alakítás, és működik is, örül, boldog………Egy kicsit más kérdés (ez már csak olyan szépítés):
A mostani personal.xlsb modul szerkezete az alábbiak szerint néz ki:Sub egyes_verzio()
'valami 1
kozos
End Sub
Sub kettes_verzio()
'valami 2
kozos
End Sub
Sub kozos()
'közös dolgok
End SubMivel a közös rész a legnagyobb (90%-a az egésznek), így logikusnak tűnt, hogy szubrutinszerűen meghívogatom, ami sok-sok egyéb előnnyel is jár. Ebben az esetben a futtatható makrók listájában 3 sor jelenik meg: egyes_verzio/kettes_verzio/kozos. Természetesen a kozos rész nem működik helyesen önmagában. El lehet azt rejteni valahogy? (hide)
Üdv: g.
-
Delila_1
veterán
válasz
deicide
#5780
üzenetére
Kétféle módon.
1. Érvényesítéssel: Adatok/Érvényesítés/Beállítások fül. A Megengedve legördülőből kiválasztod a Listát, a Forrás mezőjébe lépve a lapodon kijelölöd a területet, ahonnan az adatokat meg akarod jeleníteni.
Ezt akkor alkalmazhatod, ha az így érvényesített cella és a forráslista azonos lapon van. Ha másik lapon akarod létrehozni, akkor előbb a forráslistát el kell nevezned (kijelölve a területet Beszúrás/Név/Név megadása. A megjelenő ablakban lent, a hivatkozásnál megjelenik a kijelölt területed, a Munkafüzetben lévő nevek rovatában adsz egy nevet a tartománynak.) Az érvényesítésnél a forráshoz az adott nevet írod be egy egyenlőségjel után.
2. Űrlapelemmel: behívod az Űrlapok eszköztárát, ezen rákattintasz a Kombi panel ikonjára, a kapott szálkereszttel megrajzolod a legördülőt. Jobb klikk az elemen, Vezérlő formázása. A Vezérlő fülön a Bemeneti tartomány mezőjébe állva a lapodon kijelölöd a megjelenítendő tartományt. A Cellacsatoláshoz beírod a cellát, ahol a kiválasztott elem sorszámát szeretnéd látni (az elemek közötti sorszámot adja, vagyis ha a két elem Anna és Béla, Annát választva 1, Bélánál 2 lesz a csatolt cella eredménye). A csatolt cella tartalmát felhasználhatod pl. egy FKERES függvényben. Ezt a cellát célszerű a legördülő "mögé" tenni, hogy a megjelenő eredmény ne zavarja a felhasználót.Van harmadik megoldás is, mikor a Vezérlők eszköztárából veszel egy Beviteli listát, de ehhez már egy kis programot kell írni.
-
gyga
senior tag
ez a képlet összeadja a mostani munkafüzet összes oldalán lévő L154 es mezőben levő számokat de, olyan általános képlet létezik e amit nem kell állandóan változtatni ha változnak a lapok nevei,
=SZUM(Munka1:mák!L154) -
deicide
veterán
Sziasztok!
Újabb kérdés:
Hogyan lehet egy cellába legördülő menüt tenni, olyat, ahol meghatározott lehetőségek közül lehet választani?
-
gsc73
aktív tag
válasz
Delila_1
#5778
üzenetére
Szia!
Igen, tudom hogy itt egy nagyon segítőkész csapat figyeli a fórumot, élükön Veled.....

Ma reggel kicsit elkedvetlenedtem 2 dolog miatt. Egyrészt mert olyat küldtek, amit eddig még nem....
: most egy XLT file volt a csatolmányban. Ezzel nem volt különösebb baj, mert lefutott a rendezés, de pl a dátumformátum már nem stimmelt. Most ezzel küzdök.Fire-nak teljesen igaza volt/van abban, hogy olyan makrót írni nagyon nehéz, ami teljesen univerzális, főleg úgy, hogy nem definiált előre hogy mi a bemenet, de a kimenetnek mindig ugyanolyannak kell lennie! (az sem megoldás hogy akkor én meg nem megyek szabadságra, nem leszek beteg..stb..
)Most az egyik oszlop dátumformátumával nem tudok zöld ágra vergődni.
A cella így néz ki: 2009.11.30. 10:01
vagy így 2009.11.30. 5.47Ilyenné kell alakítani: 10:01
vagy ilyenné 5.47Ez igen egyszerűnek tűnik, de a valóságban nem az. Bizonyos esetekben, amikor az Excel felismeri hogy dátumról van szó, akkor jól működik az a macró sor, hogy
Selection.NumberFormat = "h:mm;@"
DE ha nem ismeri fel, akkor a fenti sorra nem reagál. Mondom oké, akkor "vágjunk" MID -del. az pedig csak akkor működik jól, ha kizárólag szöveg, különben nem lesz egyforma.
Ha átalakítom szöveggé, azzal a célzattal hogy akkor lehetne hasznáéni a MID-et, akkor meg "40147.4166666667" lesz belőle.................kezdek becsavarodni.
Üdv: g.
-
gsc73
aktív tag
válasz
Delila_1
#5776
üzenetére
Köszönöm!

Ez egy igazán elegáns megoldás, amire én nem is gondoltam volna......
Kicsit próbálkoztam estefelé Cuci3 javaslatával, ami részben működött, de megint egy olyan dologgal találkoztam, amivel azelőtt még nem...vannak még ötleteim......ha kifogyok, kérdezni fogok 'ám.....
Üdv: g.
-
Cuci3
tag
Nem biztos, hogy értjük egymás gondolkodását. A következő folyamat megalkotása nem lehetséges:
CSV megnyitása mellékletből -> Progi indítása (valami bővítményként lehetne csatolni az Excelhez, és valamelyik menübe berakni, vagy valami gombot hozzárendelni) -> Ha tagolt, akkor a rendezés lefut. Ha nem tagolt, akkor előbb lefut a Szövegből Oszlopok majd a rendezés -> Mosolygás, öröm, boldogság
-
gsc73
aktív tag
Igen, az kellene, ha Importálni akarnék, és ott pontosan meg lehet adni az elválasztó karaktereket, de nem az a cél. Egyébként ez 2007-ben is pontosan ott van. A cél hogy automatikusan legyen rendezve megnyitás után.
Üdv: g.
u.i.: én is úgy tudtam hogy Te, de a valóság néha más....

-
Cuci3
tag
Nos Neked az Adatok/Szövegből oszlopok menüpont kellene 2003 alatt. 2007-ben nem tom hol van és hogy hívják. (ezt majdcsak elmeséli valaki)
És szerintem egypár rögzített makróval rá lehet jönni a szintaktikára.
Én mindig is úgy tudtam, hogy a pontosvesszővel tagolt fájl a csv, a vesszővel tagolt a txt - lehet, hogy szakbarbár vagyok
-
gsc73
aktív tag
Egy kis kiegészítés: Az adatok hossza nem egyforma, és az üres helyek (cellák) helye is telejesen véletlenszerű. Max 500 sorról van szó, általában 2-300.
Üdv: g.
-
gsc73
aktív tag
válasz
Fire/SOUL/CD
#5763
üzenetére
Hááááát. Sok-sok véleményem lenne, de inkább koncentráljunk a feladatra, hogy ne legyen nagyon OFF.
Tehát. Úgy érzem kicsit elkanyarodtunk, pedig próbáltam nagyon egyértelműen fogalmazni, hogy mi is lenne a célom. A cellák tartalma nem érdekes, minden szöveg, nem kell számolni, nem is volt kérdés.
Mint írtam, az e-mailen kapott CSV fájlokban található elválasztó karakterek különböznek:
egyszer (1): valami,senki, 13:30,,,,akármi,345,,máskor (2): valami;senki;13:30;;;;akármi;345;;
Az egyiket (1)úgy nyitja meg az Excel, hogy minden „,” (vessző) karakter közé eső részt egy külön cellába tesz (vannak üres cellák is). És ez nekünk jó, ennek örülünk. Innentől egy kattintás, és elindul a rendezés makró, ami mostanra 900 sorosa dagadt (nem 10-20 sor, persze nagyon „komoly” dolgok nincsenek benne, nem vagyok én „Programozó”…
)A másikat (2) úgy nyitja meg, hogy „valami”-től „345”-ig az első cellába (A1) teszi bele a teljes sort, majd az alá (A2) a következőt. Tehát a sorok végét helyesen állapítja meg.
Én a következő folyamatot képzeltem el: a dolgozó rákattint az e-mail mellékletre, amit megnyit az Excel, majd nem törődve azzal, hogy mit lát a képernyőn kattint egy makrót indító gombra (arra ami a rendezést indítja). Ezután a „kis” makró megállapítja hogy tagol-e vagy sem az adatállomány. Ha tagolt, akkor nincs gond, indulhat a normál „Rendezés” makró. (ezt úgy gondoltam detektálni, hogy az első sor (fejléc) ugyanolyan, azaz ha A1-ben „DRE” van akkor okés, ha nem akkor nem tagolt.)
És itt jön az én kérdésem:
Ha nem tagolt, akkor hogyan tagoljam???? (nem kell nekem készre írt makró, szeretnék vele én küzdeni, inkább csak valamilyen iránymutatást szeretnék kérni, mert ebben a pillanatban nincs ötletem se. Általában a szintaktikai dolgok szoktak problémát okozni, meg az ilyen nagyobb falatok.)
Remélem egyértelműen fogalmaztam.
Üdv: g.
-
Delila_1
veterán
válasz
Fire/SOUL/CD
#5767
üzenetére

-
válasz
Delila_1
#5764
üzenetére
Hali!
Igen lehet, hogy erősnek tűnik a dolog, de Én ehhez vagyok szokva, sokszor még megismerkedni sem volt időm munkatársakkal, mert pár nap alatt repültek. Hiába dolgozott más programozási területen x éve, ahhoz a melóhoz nem értett, mást meg nem tudtak adni neki....
Hát ha én szabnék Neked egy kosztümöt, azt megnézném, hogy áll rajtad...

(kár, hogy nem vagyok Mekk Elek, mert akkor csak levernék az egyik logóm
)Fire.
-
Delila_1
veterán
válasz
Fire/SOUL/CD
#5763
üzenetére
Delila nem teszi be a makrót.
Már csak azért sem, mert ismeretlen előttem a csv, az elválsztók, az adatok.
gsc73-nak kell rögzítenie, ahogy ő teszi kompatibilissé a csv-t az Excellel.
Ehhez előbb be kell gyakorolni, 1-2 sikeres konvertálás után pedig jöhet a rögzítés.A 2. pontban többnyire gsc73-mal értek egyet, ki ne rúgjuk már a más területen nagy tapasztalatot szerzett munkatársakat, ha nem áll rá a fejük az Excel kezelésére. Mit szólnál, ha mától öltönyt kellene szabnod? Elismerem, lüke példa.
-
Hali!
1. Az, hogy megpróbálod a munkatársak számára a legegyszerűbben kezelhetővé tenni, az dicséretes.
2. Nem tettem korra kitételt a válaszomban, egyszerűen aki képtelen minimális energiát befektetni, hogy fejlődjön, vagy 5szöri elmagyarázás után sem képes egy primitív feladatot elvégezni, annak semmi keresnivalója Excel előtt, függetlenül hány éves...
Ember nélkül nincs számítógép, jó szakember nélkül meg több bosszúságot okoz, mint örömöt..Szép a hobbid, de gondolom neked is lenne mással eltölteni az időd, mint megírni egy összetett makrót.3. Nos, mivel írtad, hogy CSV-be kapod alapból, ezért nem igazán értem, mit kellene átnevezni...Ezenkívül az sem világos, hogy miért nem nyílik mag a tagolás automatikusan, hisz pont az a gond, hogy a területi beállítások nem egyeznek meg, a CSV-ben található tagoló karakterekkel(többek közt)...
Valóban félreérthető voltam, hogy "megnyitni", arra értettem, amit írtál, azaz adatok importálása, ott meg KELL hogy nyíljon. Véleményem szerint, ez még mindig egyszerűbb, mint egy összetett makró, amiben fájlkezelésről/feldolgozásról formátumok kinyeréséről, stb stb kell gondoskodni, mindezeket persze hibakezeléssel felügyelve...4. Igen, az alap adatformázás az a területi beállítások leánykori neve...

Nem azt írtam, hogy a területi beállításoknak nincs köze a számformátumokhoz, hanem arra gondoltam, hogy a CSV-nek bármi köze lenne hozzá. Ha nem módosíthatod(jogok) miatt a területi beállítást, akkor azt makróval sem fogod egyszerűen megoldani.
A CSV NEM TÁROL FORMÁTUMOT! pl ezer forint, az így lehet letárolva a CSV-ben
1000
1,000
1,000 Ft
1 000
1 000 Ft
Az első változat kivételével az összes többi SZÖVEG, ergo át kell majd alakítanod számmá, ha számolni is szeretnél még vele a későbbiekben, DE simán nem fogod tudni átalakítani, mert a területi beállítások egyből formázzák is számként avagy pénznemként, DE ÚGY ahogy a területi beállításokban szerepel. Ezt a makróval csak úgy kerülheted ki, hogy EGYÉNI cellaformázást alkalmazol pl
#,###,### Ft (ezt csak hasra ütésre írtam, semmi értelme amúgy)
Tehát még egy dolog, amiről a makrónak gondoskodnia kell, arról már nem is beszélve, hogy az email-ből is automatikusan kiszedi a csatolmányt a megadott címről stb stb.
Ezért tartanám egyszerűbb megoldásnak, ha mindezt az alkalmazottaknak is megtanítanád(tudom, tovább tart mint egy gombra kattintás), de legalább fejlődnének és később már ilyen dolgokkal nem kellene foglalkozni.Kézenfekvő megoldás lenne elsőre, hogy a rendszergazdának szólni, hogy hát állítsa be "normálisan" a területi beállításokat, csak Én meg tudom, hogy az nem véletlen, nagyon valószínű, hogy valamilyen adatbázis kezelő, vagy "sima" adatbázis miatt van így belőve, ezért ha átállítaná "Excel kompatibilisre", akkor meg ott lenne gond...
5. A makró természetesen megírható, ez nem is kérdés, de nagy odafigyelést és kellő alapot igényel, nem egy ilyen 10 soros cuccról van/lesz szó, univerzálisnak és megfelelő hibakezeléssel ellátottnak kell lennie.
(pl fel kell ismerni a tagoló karaktert, majd a számformátumot (1000 vagy 1,000 stb), hány számjegy, az szám vagy pénznem stb stb)Természetesen a Te döntésed lesz mit választasz, ha a makrót, akkor sok sikert!
(ha meg a tanítást, akkor sok türelmet a "nebulókhoz)
Fire.
UI: Delila_1 biztosan segíteni fog, hacsak nem már estére berakja Neked a komplett makrót(ahogy ismerem)

-
Delila_1
veterán
válasz
toth_janika
#5760
üzenetére
Adatok/Kimutatás vagy kimutatásdiagram/Több tartomány (összesítés).
Valószínű, hogy nem a Több tartomány-t választottad a varázsló első lapján. Tégy úgy, és sikerrel jársz.
-
gsc73
aktív tag
válasz
Fire/SOUL/CD
#5759
üzenetére
Hali!
Több kérdés nem olyan egyszerű, nézzük sorban:
1: makró így is úgy is van, mert az adathalmazt át kell rendezni, kinyomtatni stb… ez nem kérdéses. Ez a „rendezés” makró nem automatikusan indul, hanem kitettem egy gombot, amihez hozzárendeltem a Personal.xlsx-ben található makrót, így könnyen elérhető.
2: munkakönyv: egyrészt a gondolatod nem egyezik a cég filozófiájával (szerencsére), másrészt sokan vannak itt 50 felett, akik ezt a munkát még papíron kezdték, és nem is olyan túl régóta van számítógép, harmadrészt nekem is az a filozófiám hogy a számítógép van az emberért nem pedig fordítva. Amit csak lehet a legegyszerűbben kell megoldani, egyetlen gombnyomással. Ez a normális. (külnben ez nekem csak hobbim, a saját és munkatársaim munkáját könnytem meg vele. Nem vagyok rendszergazda)
3: A CSV fájlt megnyitása során NEM indul el automatikusan a varázsló! (vagy ez beállítható?) Az csak akkor működik, ha átnevezed TXT-nek. Ez nem megoldás! Elmenteni, átnevezni, megnyitni HDD-ről, végigcsinálni az importálás varázslót, majd elindítani a rendezés makrót. Na nem! Ebben ez esetben az ember lenne a számítógépért, nem pedig fordítva!
4: „A Vezérlőpultnak ehhez semmi köze.” Dehogy is nincs! Mindent kipróbáltam, tapasztaltam, tehát nagyon is sok köze van! Idézet az Excel súgójából: „ A .csv fájlok megnyitásakor az Excel az aktuális alapértelmezés szerinti adatformázási beállítások figyelembe vételével importálja minden egyes oszlop adatait.”
A kérdés: MI az az AKTUÁLIS ALAPÉRTELMEZÉS SZERINTI ADATFORMÁZÁSI BEÁLLÍTÁS. Ezt keresgéltem pár órát a neten, de egy utalásból kitaláltam:Ez az:

Nagyon köszönöm a válaszodat, de sajnos engem nem visz előre.

Üdv: g.
-
HAli!
Magam részéről nem foglalkoznék semmilyen makróval, mert szükségtelen, másrészt meg a Vezérlőpultnak ehhez semmi köze. Amikor Excel-lel megnyitsz egy CSV fájlt, akkor automatikusan végigvezet a tagolás menetén, kiválasztható egyszerűen, hogy mi a tagoló karakter(vagy meg is adható egyedi ha szükséges).
Ha valaki ezt nem tudja elsajátítani(nem tudod elmagyarázni neki), akkor add a kezébe a munkakönyvét, mert ezt általánosban tanítják.
Fire.
UI: makróhoz csak akkor nyúlj, ha nincs más megoldás, ugyanis egy csomó biztonsági problémát vet fel, hisz akkor azt is be kell állítanod, hogy kérdés nélkül lefusson a makró, ezáltal nem lesz vizsgálva a tevékenysége és még jó pár negatív dolog, amit nem részleteznék...
-
gsc73
aktív tag
Sziasztok!
A gondom eléggé összetett, amire megoldást keresek:
Az egyik partnerünk átalakította az informatikai rendszerét, és az adatbázist, amit korábban *.xls formátumban küldött, mostantól *.csv-ben küldi (e-mailen). Ezzel még nem lenne baj, csak mivel ott sokan dolgoznak különböző tudásszinttel, így nem egyformák a fájlok, (ahogy esik, úgy puffan..
pontosabban az elválasztó karakterek különbözőek. Arra már rájöttem, hogy a Vezérlőpult/Területi beállítások/Testreszabás menüpont alatt kell átállítani a „Listaelválasztó”-t , méghozzá úgy, hogy nem lehet egyforma a tizedesjellel (!!!!!) hogy a *.csv-t tagoltan nyissa meg az Excel. DE egyrészt nálunk nem érhető el a vezérlőpult (szigorú rendszergazdai beállítások), másrészt itt is különböző tudásszintű emberek dolgoznak, akik – érthető módon – csak annyit szeretnének, hogy kattintnak az email mellékletre, ami normálisan nyílik meg, majd egy másik kattintás, ami indítja a makrót, ami elrendezi az adatokat.A rendező makrót én írtam, csak azzal nem tudok mit kezdeni, ha nem tagoltan nyitja meg az Excel az adatállományt. Ennek a makrónak ez elejére kellene írni valamit, ami megvizsgálja, hogy tagolt-e, ha nem akkor tagolja. Hogyan lehetne ezt megcsinálni?
Üdv: g.
-
Delila_1
veterán
válasz
toth_janika
#5756
üzenetére
A nevek mellett szerepeljen valamilyen azonosító, ami a lapon szereplő emberek által hozzáférhető programot képviseli. Ez a két oszlop elég is a kimutatáshoz.
Készíts kimutatást több tartományból [Adatok/Kimutatás vagy kimutatásdiagram/Több tartomány (összesítés)].Az elrendezés ilyen legyen:
A Végösszeg oszlop mutatja majd, kinek hány hozzáférés adatott meg.
-
toth_janika
őstag
Hello!
Help me pls!
Adott 4 táblázat, amikben szerepelnek oszlopokban személyek nevei. A táblázatokban programok jogosultságai szerepelnek.
Szükségem lenne egy ötödik táblázatra, amiben szerepel az össze személy neve, és hogy melyik programhoz vagy programokhoz vannak jogosultságai.
Magyarul ki szeretném zárni azokat az embereket, akiknek egynél több jogosultsága van, viszont a főnökeimnek el kell küldeni azt a táblát is, amiben szerepelnek ömlesztve a dolgozók, és hogy kinek milyen jogosultsága van!
Nem tudom mennyire voltam értehető!
Köszönöm előre is!
-
Delila_1
veterán
A laponkénti képlet:
=SZUMHA(J:J;"PF";H:H)
Ezt egyszerre is beviheted a 10 lapodra. Kijelölöd a lapokat (elsőn állsz, Shiftet nyomva az utolsó lapfülre kattintasz), és a megfelelő helyre beírod a függvényt. Így gyorsabb, mint egyenként, és biztosan azonos cellában lesz minden lapon. Ezután az összesítő lapra beírod a SZUM függvényt, ahogy az előző hozzászólásomban írtam. -
Delila_1
veterán
Megcsinálod a 10 lapon egyesével, de mindegyik lapon azonos cellába.
Itt példaként legyen ez a V100.
Az összesítő lapra ezt írd (tetszésed szerinti cellába):=SZUM('Első_lap:Utolsó_lap'!V100)
Természetesen az Első_lap és az Utolsó_lap helyett a saját első, és utolsó lapod nevét írd.
-
gyga
senior tag
sziasztok 1 kis segítséget ha kérhetnék.
adott 1 munkafüzet amin belül van 10 lap mindnek más a neve.
ezeken a lapokon kellene a h oszlopokban levő összes olyan adatot összeadni ami mellet a J oszlopban "PF" jelölés van. egy új lapra a szumha függvénnyel próbálkozok több kevesebb sikerrel de mindig hibára fut kivéve ha a lapokra 1esével küldöm a szumha függvényt de így meg igen hosszú lesz a függvény és nem fér ki. nincs valami rövidebb verzió? -
Nowhere
tag
Sziasztok
Dátum formátumból, pl. 2009.01.01, hogyan lehet egy másik oszlopba leszedni csak a 2009-et? mid fügvénnyel próbáltam, de átalakítja egy másik négyjegyű számmá. Remélem valami nagyon alap dolog amivel szénné alázom magam, de nem tudok rájönni a megoldásra.
Köszi! -
mr.nagy
tag
válasz
Fehér Mancs
#5748
üzenetére
Ezt is próbáltam amit javasoltál, de nem jött be, viszont Cuci megoldása bevált. Azért köszönöm!
-
Cuci3
tag
válasz
mr.nagy
#5745
üzenetére
A kérdés tök jó, de még sose jöttem rá, hogy pontosan hogyan kellene.

Amit ismerek 2003-ban: megvan a pivot, ráállsz valamelyik részére Formázás / Automatikus formázás. Onnan kiválasztasz egyet, de ne az utolsó kettőt. Megjelenik szép színesbe a kimutatás, de az adatok már oszlopba bontva. Aztán újra Automatikus formázás, majd a bal alsó kinézet választása (ez a normális kinézetet hozza vissza).Tuti valahol valami opció, de sose jöttem rá, hogy merre kellen keresni.

-
mr.nagy
tag
Sziasztok!
Az lenne a kérdésem, hogyan lehetne megoldani, hogy egy pivot táblában az adatterületre két féle adatot tennék. Ekkor a sorok területét bontja szét a kétféle adathoz. Nekem viszont úgy kellene, hogy az oszlop területet bontsa kétfelé.
Köszönöm!
-
dtpeter
csendes tag
válasz
Delila_1
#5742
üzenetére
Köszönöm
Igen, a kérdés erre vonatkozott volna, csak elfelejtettem pontosítani, hogy a visual basic-ben való ide-oda igazításról lenne szó. Mindenesetre most a backspace billentyűm kicsit fellélegezhet, eddig igénybe volt véve rendesen, mert gyakran rájöttem, hogy valamit máshogy kellene csinálni 
-
Delila_1
veterán
válasz
dtpeter
#5740
üzenetére
Szívesen.
Van két ikon, ezeket tedd ki az Eszköztárra, ezek segítségével könnyedén tudod a kijelölt tartományt jobbra-balra igazítani.
A cellaformázásnál is megteheted a Igazítás fülön, Vízszintesen, Balra (beütve), ahol megadhatod a Behúzás mértékét. Ugyanitt jobbra is. A "Jobbra (beütve)" a jobb széltől való távolságot jelenti.
-
dtpeter
csendes tag
válasz
Delila_1
#5739
üzenetére
Köszönöm szépen, tökéletesen működik

Lenne új kérdésem is, a tab-bal kapcsolatban. Az áttekinthetőség kedvéért tab-bal beljebb írunk egy csomó sort. Arra már rájöttem, hogy ezt több sorra egyszerre is könnyedén meg tudom tenni, úgy, hogy kijelölöm a kérdéses pár sort, és ekkor nyomok tab-ot. Lehet-e hasonló elven több sorra egyszerre kiszedni ezeket a tabokat? Néha kiderül ugyanis, hogy mégsem kell oda újabb ciklus/feltétel/akármi, és eddig csak kézzel tudtam kiszedegetni, soronként, egyesével. -
Delila_1
veterán
válasz
dtpeter
#5737
üzenetére
Sub ErtekKiiro()
Dim szamok, CV, KivonatSor, KovKotSor As Long
szamok = Array(270, 47, 393, 108, 406, 48, 328, 116, 7, 260)
KovKotSor = 1
For Each CV In szamok
For KivonatSor = 2 To ActiveSheet.UsedRange.Rows.Count
If Cells(KivonatSor, 1) = CV And Cells(KivonatSor, 5) <> 0 Then
Cells(KovKotSor, 19) = CV
Cells(KovKotSor, 20) = Cells(KivonatSor, 2)
Cells(KovKotSor, 21) = Cells(KivonatSor, 5)
KovKotSor = KovKotSor + 1
End If
Next
Next
End SubA For Each-hez kell annyi magyarázat, hogy ez egy különleges ciklus. Ezzel nem kell két For-Next ciklust egymásba ágyazni, mert végiglép a megadott területen egyesével (sor, oszlop sorrendben), és a ciklusváltozó – jelen esetben CV – mindig felveszi az aktuális cella értékét.
A .Value értéket nem kell feltétlenül beírni [Cells(KovKotSor, 20) = Cells(KivonatSor, 2)], mert ez az alapérték. -
válasz
dtpeter
#5737
üzenetére
az tudom, hogy deklarálni így tudsz:
Dim stradat(2) As String
stradat(1) = "akarmi"
stradat(2) = "barmi"azt is tudom, hogy az első sorba a zárójelbe ha írsz értéket az lesz a tömb maximális mérete, ha üresen hagyod dinamikus lesz.
Csak azt nem tudom hogyan tudsz a tömb elemeire hivatkozni
De engem is érdekelne valaki megoldása.
-
dtpeter
csendes tag
Sziasztok! Segítségre, és ha van megoldás a problémámra, akkor szájbarágós magyarázatra lenne szükségem, mert még csak most ismerkedek a visual basic-kel, és úgy általában a programozással is.
Szóval van egy adattáblám, amiben olyan sorokat keresek, ahol az A oszlop adata megegyezik egy bizonyos keresett értékkel, és az E oszlop adata nem nulla. Ha ilyent talál, akkor az A, a B, és az E oszlop adatait szeretném kigyűjtetni egy új táblázatba. Ezt még sikerült is megoldani, a gondom ott kezdődik, hogy utána meg egy másik értéket kellene keresni (elég össze-vissza számokra, tehát nem egymást követő számokról van szó), és ugyanezt a feladatot végrehajtani. És ezek után még vagy 10 másik számmal eljátszani ezt az egészet... Egyelőre itt tartok, itt pl. a 311-es számra keresünk:
Sub ErtekKiiro()
Dim KivonatSor As Integer, KovKotSor As Integer
KovKotSor = 2
For KivonatSor = 2 To ActiveSheet.UsedRange.Rows.Count
If Cells(KivonatSor, 1).Value = "311" And Cells(KivonatSor, 5) <> 0 Then
Cells(KovKotSor, 19).Value = Cells(KivonatSor, 1).Value
Cells(KovKotSor, 20).Value = Cells(KivonatSor, 2).Value
Cells(KovKotSor, 21).Value = Cells(KivonatSor, 5).Value
KovKotSor = KovKotSor + 1
End If
Next KivonatSor
End SubA kérdésem az lenne, hogy van-e erre valami elegáns megoldás, vagy tényleg 10-12 ilyen For-Next ciklust kell egymás után elhelyeznem? Illetve gondoltam még arra is, hogy a keresett értékeket kiírom egymás alá egy külön lapra, és a feltételnél egy másik For-Next ciklussal (azaz egymásba ágyazott ciklusokkal), végiglépkedek ezeken a cellákon. De ha van rá mód, akkor jobban szeretném az egészet kódból megcsinálni.
Olvastam valami tömbökről, esetleg az lehet a megoldás, de nem tudom, hogy pontosan hogy nézne ki a gyakorlatban a dolog.
Előre is köszönöm a segítséget!
-
Delila_1
veterán
válasz
Fire/SOUL/CD
#5733
üzenetére
Jó a kacagó figurád.
-
-
Delila_1
veterán
válasz
Fire/SOUL/CD
#5731
üzenetére
Az Excelbe, a kódlapra másolásnál kerül 1 sorba minden.
A vízszintes gördítő OK. -
válasz
Delila_1
#5729
üzenetére
Hali!
A hiba az Ön készülékében van, mint ahogy van vízszintes görgetősáv is MINDEN programkódnál, úgy NINCS 1 sorban az egész makró. Javasolni tudnám egy másik böngésző használatát, esetleg a meglévő frissítését, végső esetben a format c: alkalmazását.

Fire.
UI: Tényleg nem bosszantani akarlak, de valami nem OK a masináddal...
![;]](//cdn.rios.hu/dl/s/v1.gif)
-
válasz
Delila_1
#5727
üzenetére
őő akarom mondai hülye vagyok

szóval feladom.

megírom akkor 19 szer így...Sub receiving()
Sheets("IDE_MASOLD").Select
Dim sor, q, w, x, y, z, adat, ossz, fil
q = 0: w = 0: x = 0: y = 0: z = 0: ossz = 0
filteregy = Range("Data!C23").Text
For sor = 1 To ActiveSheet.UsedRange.Rows.Count
adat = Cells(sor, 13)
If Cells(sor, 4) = filteregy And Cells(sor, 17) = "Warehouse Receiving - OOW" Then
If adat = " 1-10" Then q = q + 1
If adat = "11-20" Then w = w + 1
If adat = "21-30" Then x = x + 1
If adat = "31-60" Then y = y + 1
If adat = "61- " Then z = z + 1
End If
ossz = q + w + x + y + z
Next
Sheets("Data").Cells(2, 1) = ossz
Sheets("Data").Cells(5, 1) = q
Sheets("Data").Cells(8, 1) = w
Sheets("Data").Cells(11, 1) = x
Sheets("Data").Cells(14, 1) = y
Sheets("Data").Cells(17, 1) = z
End Sub
Sub visual()
Sheets("IDE_MASOLD").Select
Dim sor, q, w, x, y, z, adat, ossz, fil
q = 0: w = 0: x = 0: y = 0: z = 0: ossz = 0
filteregy = Range("Data!C23").Text
For sor = 1 To ActiveSheet.UsedRange.Rows.Count
adat = Cells(sor, 13)
If Cells(sor, 4) = filteregy And Cells(sor, 17) = "Visual Inspection - OOW" Then
If adat = " 1-10" Then q = q + 1
If adat = "11-20" Then w = w + 1
If adat = "21-30" Then x = x + 1
If adat = "31-60" Then y = y + 1
If adat = "61- " Then z = z + 1
End If
ossz = q + w + x + y + z
Next
Sheets("Data").Cells(2, 2) = ossz
Sheets("Data").Cells(5, 2) = q
Sheets("Data").Cells(8, 2) = w
Sheets("Data").Cells(11, 2) = x
Sheets("Data").Cells(14, 2) = y
Sheets("Data").Cells(17, 2) = z
End Sub
Sub quicktest()
Sheets("IDE_MASOLD").Select
Dim sor, q, w, x, y, z, adat, ossz, fil
q = 0: w = 0: x = 0: y = 0: z = 0: ossz = 0
filteregy = Range("Data!C23").Text
For sor = 1 To ActiveSheet.UsedRange.Rows.Count
adat = Cells(sor, 13)
If Cells(sor, 4) = filteregy And Cells(sor, 17) = "Quick Test - OOW" Then
If adat = " 1-10" Then q = q + 1
If adat = "11-20" Then w = w + 1
If adat = "21-30" Then x = x + 1
If adat = "31-60" Then y = y + 1
If adat = "61- " Then z = z + 1
End If
ossz = q + w + x + y + z
Next
Sheets("Data").Cells(2, 3) = ossz
Sheets("Data").Cells(5, 3) = q
Sheets("Data").Cells(8, 3) = w
Sheets("Data").Cells(11, 3) = x
Sheets("Data").Cells(14, 3) = y
Sheets("Data").Cells(17, 3) = z
End Sub -
Delila_1
veterán
If Cells(sor, 4) = filteregy And _ 'első feltétel
Cells(sor, 17) = "Visual Inspection - OOW" Then 'második feltétel
If adat = " 1-10" Then q = q + 1 'harmadik feltétel
If adat = "11-20" Then w = w + 1 'harmadik feltételMegőrjít ez a "Programkód", teljesen elrontották a régit.
Nézd meg a filterketto értékadását is, rossz helyen van az idézőjel, és a fil helyett fill szerepel a makródban.
2 for-next ciklusod van, az egyiknek nem adtad meg a next-et, azt hiányolja. Az End Sub elé írd.
-
válasz
Delila_1
#5723
üzenetére
ja, bocs, elgépeltem
megcsináltam ahogy mondod, de nem jóSub visual()
Sheets("IDE_MASOLD").Select
Dim sor, q, w, x, y, z, adat, ossz, fil
q = 0: w = 0: x = 0: y = 0: z = 0: ossz = 0
filteregy = Range("Data!C23").Text
For fil = 1 To 19
For sor = 1 To ActiveSheet.UsedRange.Rows.Count
filterketto = Range("Data!AA & fil").Text
adat = Cells(sor, 13)
If Cells(sor, 4) = filteregy And Cells(sor, 17) = filterketto Then
If adat = " 1-10" Then q = q + 1
If adat = "11-20" Then w = w + 1
If adat = "21-30" Then x = x + 1
If adat = "31-60" Then y = y + 1
If adat = "61- " Then z = z + 1
End If
ossz = q + w + x + y + z
Next
Sheets("Data").Cells(2, 2 + fil) = ossz
Sheets("Data").Cells(5, 2 + fil) = q
Sheets("Data").Cells(8, 2 + fil) = w
Sheets("Data").Cells(11, 2 + fil) = x
Sheets("Data").Cells(14, 2 + fil) = y
Sheets("Data").Cells(17, 2 + fil) = z
End Suba hiba az hogy "For without Next"
hát ha jól értem akkor minden for ciklushoz kellene tartozni egy next-nek.
csak nem tudom hova kéne írni -
Delila_1
veterán
-
Macróba mi a joker karakter?
-
válasz
Delila_1
#5715
üzenetére
Szia!
alakul

szóval al ényeg, hogy az első (sor, 3) az a data!23-ból olvasom ki.
a második (sor, 13) az "adat"
a harmadik pedig 19 féle állapot.
én így akartam megoldani, de így nem jóSub visual()
Sheets("IDE_MASOLD").Select
Dim sor, q, w, x, y, z, adat, ossz, fil
q = 0: w = 0: x = 0: y = 0: z = 0: ossz = 0
For fil = 1 To 19
filteregy = Range("Data!C23").Text
filterketto = Range("Data!AA & fill").Text
For sor = 1 To ActiveSheet.UsedRange.Rows.Count
adat = Cells(sor, 13)
If Cells(sor, 4) = filteregy And Cells(sor, 17) = filterketto Then
If adat = " 1-10" Then q = q + 1
If adat = "11-20" Then w = w + 1
If adat = "21-30" Then x = x + 1
If adat = "31-60" Then y = y + 1
If adat = "61- " Then z = z + 1
End If
ossz = q + w + x + y + z
Next
Sheets("Data").Cells(2, 2 + fil) = ossz
Sheets("Data").Cells(5, 2 + fil) = q
Sheets("Data").Cells(8, 2 + fil) = w
Sheets("Data").Cells(11, 2 + fil) = x
Sheets("Data").Cells(14, 2 + fil) = y
Sheets("Data").Cells(17, 2 + fil) = z
End SubÉrted így, hogy mit szeretnék?
tehát hogy az első érték az fix, vagyis az eleén eldől, hogy a vagy b.
a másik két értéken viszont minden lehetőségen végig kellene menni. -
deicide
veterán
Lenne egy probléma. Szummázni szeretném egy oszlop tartalmát, de úgy, hogy az adatok egy lekérdezés eredményei lesznek és nem tudni előre, hogy hány sorból fog állni az oszlop. Van erre megoldás?
-
Delila_1
veterán
AA1 és AA19 közé berakod a 19 különböző filter értéket. Az első 5 eredményt a C25-től lefelé írja ki (ahogy eddig), a következőket D25-től, és így tovább 19 oszlopba.
Adatok nélkül hasraütősen írom a makrót, majd jajgatsz, ha nem jó.Sub visual_filter()
Sheets("IDE_MASOLD").Select
Dim sor, q, w, x, y, z, adat, fil
q = 0: w = 0: x = 0: y = 0: z = 0
For fil = 1 To 19
filteregy = Range("Data!AA" & fil).Text
For sor = 1 To ActiveSheet.UsedRange.Rows.Count
adat = Cells(sor, 13)
If Cells(sor, 4) = filteregy And _
Cells(sor, 17) = "Visual Inspection - OOW" Then
If adat = " 1-10" Then q = q + 1
If adat = "11-20" Then w = w + 1
If adat = "21-30" Then x = x + 1
If adat = "31-60" Then y = y + 1
If adat = "61- " Then z = z + 1
End If
Next
Sheets("Data").Cells(25, 1 + fil) = q
Sheets("Data").Cells(26, 1 + fil) = w
Sheets("Data").Cells(27, 1 + fil) = x
Sheets("Data").Cells(28, 1 + fil) = y
Sheets("Data").Cells(29, 1 + fil) = z
Next
End Sub -
Delila_1
veterán
Azért nem, mert angol verzióhoz készült a képlet.
Itt a makrós megoldás:Sub Rendez()
Dim CV, sor
Dim terület As String
sor = 1
terület = "$A$1:$E$" & Range("E1").End(xlDown).Row
For Each CV In Range(terület)
Sheets("Rendezve").Cells(sor, 1) = CV
sor = sor + 1
Next
End Sub -
válasz
Fehér Mancs
#5711
üzenetére
sajnos ez így nem működik, ha bemásolom

-
válasz
Delila_1
#5709
üzenetére
nincs filter kettő.
részben arra gondoltam amit a (#5704) hsz-ben csináltál, csak azzal megspékelve, hogy a sor,17 értékét is szeretném 19 féle képpen módosítani.
tehát végigszámolni a már megadott módon, és utánna a sor, 17 értéke változikszerk:
vagy egyszerűbb lenne ha pl a data sheet AA1:AA19-ig lennének ezek az értékek, és így lehetne filter kettő? -
Fehér Mancs
tag
egy függvényes megoldás:
=INDEX($A$1:$E$12;TRUNC((ROW(G1)-1)/5)+1;MOD((ROW(G1)-1);5)+1)
(A G1 cellába lehet írni, ha továbbhúzod, egy oszlopban kifejti neked a mátrixodat).
$A$1:$E$12 -> hivatkozott tábla
TRUNC((ROW(G1)-1)/5)+1 -> egészrész függvény, az aktuális sorszám 5-tel osztva, így 5 soronként vált sort a táblában
MOD((ROW(G1)-1);5)+1 -> maradékfüggvény, szintén 5-ös osztóval, így oszloponként mindig 1-gyel nő, egészen 5-ig, ezután visszamegy 1-re. -
-
válasz
Delila_1
#5705
üzenetére
itt a kép. szóval azt szeretném, hogy ez egy db oszlopba legyen nekem rendezve, a zárójelben található első adat szerint. vagyis így nézzen ki:
[0,2]
[1,1]
[2,13]
[3,11656]
[4,x]
[5, x]
stb..
azt meg már meg tudom csinálni, hogy ezt szétszedje majd két oszlopra.
remélem így világos
/amúgy bámulatos, hogy milyen excel tudással rendelkezel
hol lehet ilyesmire szert tenni?/ -
Delila_1
veterán
Makró nélkül nem.
Tegyél be egy képet, mert a leírásod után nekem nem egészen világos a célod.
A rendezés után az összes oszlop és sor adatait 1 oszlopban szeretnéd látni, és minden adat után legyen 4 üres sor? Vagy az első sor 5 adata egymás alatt legyen, utána 4 üres sor, és jöhet alá a következő 5? -
Delila_1
veterán
Ötször hajtod végig az összes adaton a makrót, pedig egyszer is elég lenne. A feltételek vizsgálata is időigényes művelet. Amit lehet, be kell zsúfolni egy ciklusba.
A 3 feltétel közül kettő azonos, ezeket elég 1-szer vizsgálni soronként.
Kétféle módon írtam át, az egyikben If-ek figyelik az adatokat, a másikban a többszörös elágazásra szolgáló Select Case.Sub visual_11()
Sheets("IDE_MASOLD").Select
filteregy = Range("Data!C23").Text
Dim sor, q, w, x, y, z, adat
q = 0: w = 0: x = 0: y = 0: z = 0
For sor = 1 To ActiveSheet.UsedRange.Rows.Count
adat = Cells(sor, 13)
If Cells(sor, 4) = filteregy And Cells(sor, 17) = "Visual Inspection - OOW" Then
If adat = " 1-10" Then q = q + 1
If adat = "11-20" Then w = w + 1
If adat = "21-30" Then x = x + 1
If adat = "31-60" Then y = y + 1
If adat = "61- " Then z = z + 1
End If
Next
Sheets("Data").Cells(25, 2) = q
Sheets("Data").Cells(26, 2) = w
Sheets("Data").Cells(27, 2) = x
Sheets("Data").Cells(28, 2) = y
Sheets("Data").Cells(29, 2) = z
End Sub
Sub visual_Case()
Sheets("IDE_MASOLD").Select
filteregy = Range("Data!C23").Text
Dim sor, q, w, x, y, z, adat
q = 0: w = 0: x = 0: y = 0: z = 0
For sor = 1 To ActiveSheet.UsedRange.Rows.Count
If Cells(sor, 4) = filteregy And Cells(sor, 17) = "Visual Inspection - OOW" Then
adat = Cells(sor, 13)
Select Case adat
Case " 1-10"
q = q + 1
Case "11-20"
w = w + 1
Case "21-30"
x = x + 1
Case "31-60"
y = y + 1
Case "61- "
z = z + 1
End Select
End If
Next
Sheets("Data").Cells(25, 2) = q
Sheets("Data").Cells(26, 2) = w
Sheets("Data").Cells(27, 2) = x
Sheets("Data").Cells(28, 2) = y
Sheets("Data").Cells(29, 2) = z
End Sub -
sziasztok!
lenne egy elég fogós kérdésem excellel kapcsolatban. van nekem ismét egy jó nagy adathalmazom, 5 oszlopban., kb így:
1 2 3 4 5
6 7 8 9 10, és ebből szeretnék egy ilyet:1
2
3
...Egyenként a transzponálás fv-el át tudom alakítani a sorokat, de valami olyan megoldás kéne, ami mindegyik sor alá csinál nekem 4 üreset, és oda transzponálja befele. meg lehet ezt oldani egyszerűen, makró nélkül?
Köszi előre is!
-
illetve a végét módosította, ahogy írtad...
Sheets("Data"). Cells(25, 2) = q
Sheets("Data").Cells(26, 2) = w
Sheets("Data").Cells(27, 2) = x
Sheets("Data").Cells(28, 2) = y
Sheets("Data").Cells(29, 2) = zÍgy gyorsabb...

Esetleg arra ötleted, hogy ne kelljen így külön megírni mindet, hanem ugorjon a következő étékre, és fusson le úgy is? Érted amit kérdezni szeretnék?

-
így gondolotam
Sub visua11()
Sheets("IDE_MASOLD").Select
filteregy = Range("Data!C23").Text
Dim sor, sor1, sor2, sor3, sor4, q, w, x, y, z
q = 0
w = 0
x = 0
y = 0
z = 0
For sor = 1 To ActiveSheet.UsedRange.Rows.Count
If Cells(sor, 4) = filteregy And Cells(sor, 13) = " 1-10" And _
Cells(sor, 17) = "Visual Inspection - OOW" Then q = q + 1
Next
For sor1 = 1 To ActiveSheet.UsedRange.Rows.Count
If Cells(sor1, 4) = filteregy And Cells(sor1, 13) = "11-20" And _
Cells(sor1, 17) = "Visual Inspection - OOW" Then w = w + 1
Next
For sor2 = 1 To ActiveSheet.UsedRange.Rows.Count
If Cells(sor2, 4) = filteregy And Cells(sor2, 13) = "21-30" And _
Cells(sor2, 17) = "Visual Inspection - OOW" Then x = x + 1
Next
For sor3 = 1 To ActiveSheet.UsedRange.Rows.Count
If Cells(sor3, 4) = filteregy And Cells(sor3, 13) = "31-60" And _
Cells(sor3, 17) = "Visual Inspection - OOW" Then y = y + 1
Next
For sor4 = 1 To ActiveSheet.UsedRange.Rows.Count
If Cells(sor4, 4) = filteregy And Cells(sor4, 13) = "61- " And _
Cells(sor4, 17) = "Visual Inspection - OOW" Then z = z + 1
Next
Sheets("Data").Select
Cells(25, 2) = q
Cells(26, 2) = w
Cells(27, 2) = x
Cells(28, 2) = y
Cells(29, 2) = z
End Sub
Új hozzászólás Aktív témák
- Horgász topik
- Amazon Alexa
- Samsung Galaxy S24 Ultra - ha működik, ne változtass!
- Battlefield 6
- Milyen program, ami...?
- Hobby rádiós topik
- Szívesen használsz Samsung böngészőt? Immár PC-n is megteheted
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- BestBuy topik
- Villanyszerelés
- További aktív témák...
- Surface Laptop 5 Touch 13.5 Retina i7-1265U 10mag 4.8Ghz 16GB 512GB Intel Iris XE Win11 Pro Garancia
- Számlás,garanciás SSD-k! Kèszletről!
- Azonnali kézbesítés az év bármely pillanatában
- HP EliteOne 800 G5 All-in-One i5-9500 32GB 1000GB 23.8" Érintőkijelző!! 1 év garancia
- Bomba ár! Lenovo X1 Yoga 1st - i7-6G I 8GB I 256SSD I 14" WQHD Touch I HDMI I W11 I CAM I Garancia
Állásajánlatok
Cég: NetGo.hu Kft.
Város: Gödöllő
Cég: Promenade Publishing House Kft.
Város: Budapest
minden működik rendesen csak ha változik vmi adat az összeadandó helyeken akkor magától nem módosítja az összegzőben csak ha lefuttatom a makrót.
: most egy XLT file volt a csatolmányban. Ezzel nem volt különösebb baj, mert lefutott a rendezés, de pl a dátumformátum már nem stimmelt. Most ezzel küzdök.




Nem szép, de jó!
)






![;]](http://cdn.rios.hu/dl/s/v1.gif)
Fferi50
