Hirdetés
- Luck Dragon: Asszociációs játék. :)
- sziku69: Fűzzük össze a szavakat :)
- GoodSpeed: Márkaváltás sok-sok év után
- sziku69: Szólánc.
- Viber: ingyen telefonálás a mobilodon
- GoodSpeed: 3I/Atlas: Üstökös vagy idegen civilizáció űrhajója?
- MaxxDamage: (TongFang) Medion Erazer Beast 16 X1 benchmark
- Sub-ZeRo: Euro Truck Simulator 2 & American Truck Simulator 1 (esetleg 2 majd, ha lesz) :)
- f(x)=exp(x): A laposföld elmebaj: Vissza a jövőbe!
- bb0t: Ikea PAX gardrób és a pokol logisztikája
-
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.
-
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.
-
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.
-
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....

-
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.
-
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.
-
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.
-
gsc73
aktív tag
Hali!
Először is köszönöm, hogy foglalkoztál a kérdéssel! Az az helyzet, hogy a súgó olvasgatása közben éreztem, hogy valami "munkás" módszerrel meg lehet oldani, de egyrészt lusta voltam vigigcsinálni, másrészt nem akarom elhinni, hogy ha van egy ilyen "MAX" függvény, akkor nem lehetne egyszerűbben megoldani. Ha más nem lesz, akkor megcsinálom a Te módszereddel, fehér "munkaszámokkal", pár sorral leljebb...

Köszi:
g.
-
gsc73
aktív tag
Sziasztok!
Adott egy tartomány: B4:M34, amiben az oszlopok a hónapokat, a sorok a napokat jelzik. A cellákban számok vannak 100-300 között, össze-vissza. A „=MAX(B4:M34)” függvény megmondja, hogy mennyi a legnagyobb érték a tömbben, de én szeretném mellé írni, hogy hol van, azaz mikor volt (pl. március 14). Próbáltam több függvényt, meg súgót is, de nem jöttem rá……(függvénnyel kéne, nem makróval)
Üdv:
g.
u.i.: Office 2007 lett telepítve pár napja a cégnél kötelező jelleggel, hát mit ne mondjak…persze, hogy semmit sem talál az ember…örültem annak, hogy a korábban írt makrók egyáltalán működtek….persze sokkal-sokkal lassabban….
-
gsc73
aktív tag
Sziasztok!
Egy kérdésem lenne! Az alábbi kódrészlettel tudok VB-ben hivatkozni az aktuális munkafüzet lap nevére:
Range("A1").Select
ActiveCell.FormulaR1C1 = ActiveSheet.NameVan erre valamilyen függvény is, amit beírva egy cellába megjelenik a kérdéses név?
Azt szeretném, hogy a munkahüzet lap neve belekerüljön egy cellába, de Makrót, és VB-t nem lehet használni.
Köszi: g.
-
gsc73
aktív tag
válasz
Delila_1
#3422
üzenetére
Kedves Delila_1!
Először is köszönöm a gyors segítséget, mert Nélküled nem ment volna!!!
(soha nem találtam volna ki a „Rows(Cells(1, 12) & ":" & Cells(1, 13)).Select” szintaktikát)Elkészült a mű, és működik is, teszteltem, bár szerintem nem szép, és ha időd, kedved engedi érdekelne a véleményed.
Íme:
'AAA sorbarendez
Range("L1").Select
ActiveCell.FormulaR1C1 = _
"=IF(ISERROR(MATCH(""AAA*"",R[1]C[0]:R[2000]C[0],1)+1),"""",MATCH(""AAA*"",R[1]C[0]:R[2000]C[0],1)+1)"
Range("M1").Select
ActiveCell.FormulaR1C1 = _
"=IF(ISERROR(MATCH(""AAA*"",R[1]C[-1]:R[2000]C[-1],1)+1),"""",MATCH(""AAA*"",R[1]C[-1]:R[2000]C[-1],0)+1)"
Rows(Cells(1, 12) & ":" & Cells(1, 13)).Select
Selection.Sort Key1:=Range("L" & Cells(1, 12)), Order1:=xlAscending, Header:=xlGuess _
, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
Range("L1").Select
Selection.ClearContents
Range("M1").Select
Selection.ClearContentsTudom, hogy nem így kéne, de csak így tudom.....Úgy operálok általában, hogy makró rögzítések útján kapott részleteket illesztek össze, de ugye a rögzítés sem 100%-os. Pl. ez a sor: "Selection.Sort Key1:=Range("L" & Cells(1, 12)), Order1", így nézett ki a rögzítés után:
"Selection.Sort Key1:=Range("L125”), Order1"...ami ugye csak a 125-ös sortól rendez, de más más esetben nem jó, mert változó helyen vannak az „AAA”-k. (ezt már a Te példád alapján találtam ki)......de valahogy a HELP-ben sem tudom megtalálni a megfelelő információkat.
Ezért csinálom azt, hogy az adott függvényt (ISERROR, MATCH) egyszerűen hozzáadom egy cellához, és hivatkozok az értékre, mert nem vagyok rá képes, hogy kitaláljam, hogy a Visual Basic éppen vesszőt, vagy kettőspontot vár...Üdv, és köszi még egyszer:
g.
-
gsc73
aktív tag
válasz
Delila_1
#3419
üzenetére
ööööööööö. nem pont erre gondoltam, mert Visual Basicben kellene.......node haladok azért, csak megint elakadtam..(ha elkészül megmutatom, mert azt gondolom, hogy rettentően bonyolultan oldom meg, és érdekelne az elegáns is)
Mostani „küzdelmem”:
Adott: Rows("10:15").Select
Szeretném azt elérni, hogy a 10-es helyén az L1 cellában található érték kerüljön, a 15-ös helyére pedig az M1 celláé. (mindegyikben egy-egy függvény van)
Köszi!
g.
-
gsc73
aktív tag
Sziasztok!
Lenne egy feladat, amit VB-ben szeretnék megoldani, de a szintaktikával küzdök.....feladtam, ezért kérdezek...
Adott egy táblázat, (kb. 300 sor) ami az „A” oszlop szerint van sorba rendezve. Az utolsó oszlop az „L” amiben (egymás után) valahol (ez változó) vannak szövegrészletek, az biztos, hogy az „AAA” szerepel minden sorban. Azt szeretném megcsinálni, hogy ott ahol az „L” oszlopban vannak szövegrészletek legyen kijelölve, és csak az a szakasz legyen újrara sorba rendezve az L oszlop szerint. (csatoltam egy képet)
Függvényekkel, és pár kattintással simán megoldom, mert a HOL.VAN függvény megadja az elejét, és a végét az „L” szakasznak, és utána már csak sorba kell rendezni...de VB-ben nem tudom a függvények szintaktikai szabályait kitalálni....Előre is köszi a segítséget!
g.
u.i.: képek nem sikerültek, talán érthető voltam....
-
gsc73
aktív tag
válasz
Delila_1
#3003
üzenetére
Szia!
Köszönöm a segítséget, amit leírtál, azzal sikerült megoldanom!
A makró rögzítése, átszerkesztése általában segít, de ebben az esetben nem segített.
Rögzítettem egy makrót, miközben megváltoztattam egy cella háttérszínét. Ezt kaptam eredményül:With Selection.Interior
.ColorIndex = 15
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
End WithEbből, sajnos nem sikerült kitalálnom a megfeleő szintaxist, bár az is igaz, hogy VB ismereteim sem széleskörűek...
Aki gyakorlott, annak biztosan következik az egyikből a másik.g.
-
gsc73
aktív tag
Hy!
Hogyan tudom megváltoztatni egy cella háttérszínét VB-ben? A szintaxis miatt nem jövök rá. A cellákra a "Cells (x,25)" -tel hívatkoznék, mert egy ciklusban van.
g.
u.i.: különben a súgóban hogyan lehetne megkeresni az ilyen, és ehez hasonló kérdéseket, mert órákat töltök el azzal, hogy a megfeleő szintaxist kitaláljam. (makró rögzítése, és szerkesztése abben az esetben (sem ) használható)
-
gsc73
aktív tag
Sziasztok!
A feladat, amit szeretnék megoldani: Adott egy cella, (pl A1) amiben szöveg van: mindenféle lehet. Szeretnék bizonyos kulcs szavakra rákeresni a cellán belül, (Pl.: SOK, KEV). Ha van az egyik, akkor azt írja be pl. A2-be. (az együttes előfordulással nem kell foglalkozni) Az alábbi függvénnyel kezdtem volna, de nem jó:
A2=HA(SZÖVEG.KERES("SOK";A1;1)>0;"SOK";HA(SZÖVEG.KERES("KEV";A1;1)>0;"KEV";"nincs"))
Ugyanis az a helyzet, hogy ha nem talál a cellában „SOK”-ot (ami előfordulhat) akkor #ÉRTÉK! hibaüzenet jelenik meg, és nem vizsgálja tovább. Az is fontos lenne, ha nem talál semmit, akkor se az #ÉRTÉK! legyen a cellába, hanem egy általam definiált szöveg.
Próbáltam a HA függvényben hivatkozni az „#ÉRTÉK! „ értékre”, de nem sikerült...
Ötlet?

g.
-
gsc73
aktív tag
válasz
Delila_1
#2936
üzenetére
Nem veszik el! Egyszerűen nem lehet túlórád, mert azt csak a felettesed rendelhet el, írásban, amit szigorúan kifizetnek: MT (Munka törvénykönyve), illetve a KSZ (Kollektív Szerződés) szerint. Magyarul rend, és fegyelem uralkodik. Hozzáteszem, hogy csak most, január elseje óta dolgozom itt, de tudtam, hogy hova jövök, és ez nekem tetszik. A munkát úgy szervezik ( a munkáltató), hogy férjen bele a havi munkaóraszámba, illetve magadnak tudod beosztani (pl. januárban 176 óra MT szerint)
g.
-
gsc73
aktív tag
válasz
VANESSZA1
#2928
üzenetére
Szia!
1: érdekes munkaidő számítási módszer
2: nem értem pontosan, hogy hogyan is kellene kiszámolni a helyes időt.Ha minden nap feltételezzük, hogy 8 órát kell dolgozni, akkor egyszerű a helyzet. Ha azt tételezzük fel, hogy pl. hétfőtől csütörtökig pl 8,5 órát, pénteken meg 6 órát kell dolgozni akkor is megoldható. A leírásodból viszont az derült ki, hogy hogy ha egy nap mondjuk 5 óra 29 percet dolgozok (mert én úgy döntöttem), akkor 5 órát kell elszámolni (29 perc elveszett) ha 10 óra 34 percet dolgozok, akkor 10 órát kell elszámolni, és 34 perc a túlóra. Na ez már nehezen megoldható dolog.
DE a lényeg: Valószínű, hogy a szintaxszissal van gondod! pl:=HA(B3-A3<IDŐ(8;31;0);IGAZ;HAMIS)
azaz a celláknak "idő" típusúnak kell lenniük, és ahogy látod a fenti formátumban lehet összehasonlítani, kivonni, hozzáadni időpontot. Ha egy normál függvénybe azt írod, hogy A1+10,akkor hozzáad 10-et decimálisan. Ha 10 percet akarsz hozzáadni: A1+IDŐ(00;10;00)
Remélem ezzel már meg tudod oldani, ha nem én itt leszek!
g.
-
gsc73
aktív tag
válasz
Delila_1
#2924
üzenetére
Köszi a kezdő rugást!
Sikerült megoldani. Két dolog volt, ami megakasztott:- valamiért soha sem jut eszembe, hogy a "sima" függvényeket a VB-ben is lehet használni a makrókban.
- hiába magyar az office/excel, a VB-ben angol nevűek a függvények, azaz "Mid" volt a megfelelő.g.
-
gsc73
aktív tag
Sziasztok!
Hogyan tudom megváltoztatni makró segítségével az aktív munkalap nevét Visulal Basicben?
"D08010" ből kellen csinálni "__2008.01.01" szöveg formátumban
Az "ActiveSheet.Name" visszadja a nevet, de a további szövegvagdosást nem tudom megcsinálni. Persze általános megoldás kellene, hoszen a munkalap neve változik.
Üdv:
g.
Új hozzászólás Aktív témák
Állásajánlatok
Cég: ATW Internet Kft.
Város: Budapest
Cég: BroadBit Hungary Kft.
Város: Budakeszi


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


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.
Aki gyakorlott, annak biztosan következik az egyikből a másik.


Fferi50
