Hirdetés

Keresés

Új hozzászólás Aktív témák

  • KBaj

    kezdő

    Köszöntök Mindenkit!
    Platform, amit használok: Windows 7, Excel 2010. VBA-t értem és használom, autodidakta módon tanultam, úgy érzem nem vagyok kezdő, de a haladókat még csak messziről „nézem”.
    Az alábbi esetben szeretnék segítséget kérni:
    Nagyon sokat számolok, illetve számoltatok Excellel. Ehhez igénybe veszek Excelen belül, adott munkalapon fotó különböző programokat, bővítményeket. Az alap problémám az, hogy amikor egy számítási eset szélsőértékeit keresem, más-más paraméterekkel nagyon sokszor le kell futtatni egy „külső” programot Excelben. A programot egy billentyűkombinációval (pl. Ctrl+a) kell indítani, egérkattintással kiválasztani a megfelelő eljárást, majd az indító gomb egérkattintásával indítani az eljárást. Ezután saját párbeszéd ablakán keresztül kéri a pár darab bemenő adatait. Futás után az eredményeit Excel megfelelő celláiban közli és kilép. Excel - VBA értékelése után, ha az nem megfelelő, más paraméterekkel újra kell futtatni a „külső” programot.
    A segítséget a „külső” program indítása, eljárásválasztása és indító paraméterek átadása automatizálásában szeretnék kérni.
    Köszönöm szépen a segítséget.
    Tisztelettel:
    KBaj

  • KBaj

    kezdő

    válasz Fferi50 #43676 üzenetére

    Kedves Fferi50!
    Köszönöm a választ! Azt hiszem legjobb megoldás az, amit mások között javasoltál: a program fejlesztőjét fogom megkeresni problémámmal.
    Köszönöm szépen javaslataidat:
    KBaj

  • KBaj

    kezdő

    Sziasztok!
    Már régen jártam ezen az oldalon. A legutolsó látogatásom óta is az Excelt tanulom. Most a beépített Solver alkalmazásnál akadtam el. Kérem, ha valaki tud, legyen szíves segítsen az alábbi problémámban: Excel 2016-ot használok sokféle bővítménnyel kiegészítve. A Solver bővítményt szeretném automatizált formában használni VBA-ban. A célérték cellába egy VBA-ban saját magam megírt egyedi függvényt helyeztem el, mely a munkalapon remekül működik, ahogy kell. A Solver azonban nem hajlandó használni. Pedig ez számolná ki Solver által módosított változócellák függvényében az új célértéket.
    A segítséget előre is köszönöm:
    Üdvözlettel: a friss újonc, KBaj

  • KBaj

    kezdő

    válasz Bobrooney #44493 üzenetére

    Szia Bodrooney!
    Köszönöm szépen a választ. Ismerem a linket, igaz mivel angol nyelven nem tudok, így ezeket az oldalakat csak a google fordításán keresztül, az oldal lefordítása opcióval olvasom (tanulom). Nagyon jó oldalakat találok: innen tanulok. Igaz, borzalmas a fordítás, de igen nehezen: korábban tanultakból, gyakorlással és sok-sok türelemmel valahogy meg lehet érteni. (Marha nehéz!). A problémámra viszont még nem sikerül találni semmit. Lehet hogy Excel táblázati szinten kéne valahogy beleavatkozni abba, hogy a táblázat automatikus átszámolásával együtt minden saját gyártású függvényt is kiszámoljon, így talán a Solvernek is elég volna az eredményt vizsgálnia.

  • KBaj

    kezdő

    Üdvözlet Mindenkinek!
    Excel VBA használat közbeni problémáim.
    Nagyon sokat használom az Excelt VBA-val. Általában munkalapfüggvényekkel feldolgozott adatok tovább feldolgozására használom többször oda-vissza. Kisebb-nagyobb és óriási ciklusokat is használok, melyek futási ideje néhány másodperctől több tízpercig is tart. A gyorsításhoz használtam a több irodalmi helyen javasolt gyorsítókat, pl: képfrissítés kikapcsolást, stb. Sokat gyorsít, jól működik. A VBA rutinjaim néha bonyolultak. Általam megítélt kritikus helyekre beépítettem egy-egy <Calculate> utasítást, hogy „bevárják” egymást (VBA és automatikus újraszámolás), mivel használják egymás eredményeit.
    - De: Ennek ellenére nem adtak mindig egyforma eredményt, ezért lemondtam a gyorsításról. A további normál sebességű használatnál észre vettem, hogy futás közben, ha az <alt> billentyűt lenyomom gyorsabban fut a program. Ez nagyszerű, kb. 2-2,3 szoros sebességű, ami nyilván sok mindentől függ (pl: használt rutintól. …). És most jön a következő
    - de: A program futási eredményi ugyanolyan megbízhatatlanok lettek, mint programozott gyorsításkor. Többször is kipróbáltam alt billentyűvel, mindig volt legalább egy eltérő eredmény. Alt nélkül meg nem tudom, hogy jó vagy rossz eredmény, de mindig következetesen egyforma eredményt adott. Innentől (alt nélkül) futtatom a programot, azonban van még egy
    - de: Futás közben nem szabad a géphez nyúlni (semmihez!!!). mert ettől is begyorsul <alt> módjára és lőttek az eredményeknek.
    Nagyon megdöbbentem, hogy a számítógép ilyen összevissza eredményeket hoz. Én azt hittem, hogy 2 szer 2 az mindig 4, de a gép szerint 3.2 vagy 2.8. Azután rájöttem: valamit rosszul csinálok. de mit?
    Tisztelettel kérek mindenkit, aki tud valami magyarázatot a fent vázol jelenségekre az tegye közzé, hátha van még ilyen autodidakta, Excel alapfokát piszkáló mint én.
    Köszönöm a segítséget.

  • KBaj

    kezdő

    válasz Fferi50 #44620 üzenetére

    Üdvözlet Kedves Fferi50!
    Köszönöm szépen a gyors választ, sokat tanultam belőle, de sokat nem értettem meg. Az értetlenségemet kénytelen vagyok betudni annak, mint ahogy előző írásomból is kitűnik: zöldfülű kezdő vagyok. Azért foglalkozok ezzel, hogy tanuljak, okosodjak.
    A feltett kérdésekre megpróbálok válaszolni:
    … mert ettől is begyorsul … - az eset már hosszú ideje futó programnál volt. Bizonyára olyan szakaszhoz ért a belső vezérlés ami elveszi a képernyőt, igen rövid időre időnként felvillan, nem volt érzékeny semmire. Idegességemben kattingattam mindenfelé, nyomkodtam mindent. Valószínű esc hatására megállt és konstatáltam, hogy felgyorsulhatott, mert rossz eredményeket hozott. A továbbiakban nem foglalkoztam vele. A programban nincs DoEvents utasítás. Mint említettem kezdő vagyok: még nem ismerem (még nem!).
    A többszintű képletezést nem nagyon értem. Idősorokkal foglalkozom, tagok belső kapcsolatait keresem. A válaszodat úgy értelmezem, hogy a többszintű programozás lenne hibás a rossz eredményekért. Ezt csak úgy tudom elképzelni, hogy visszacsatolás van a bemenő és a kiszámított adatok között, körkörös hivatkozáshoz hasonlóan. Nem értem.
    Ezután írtál valami Volatile tulajdonságú függvényekről. Bevallom még nem (még nem!) hallottam róla. Meg kell ismerni, hogy tudatosan tudjam alkalmazni.
    Nem írtál azonban az <alt> billentyűről. Nem értem a működését, egymagában mire van hatással. Miért gyorsul a VBA futása.
    Köszönettel:

  • KBaj

    kezdő

    válasz Fferi50 #44622 üzenetére

    Üdvözöllek Kedves Fferi50! és Üdvözöllek Kedves Delila_1!
    Meglepődtem, talán gyorsabbak vagytok mint a gépem. De félre a tréfával, köszönöm a válaszokat. Viszontválaszomat igyekszem egy-két szavas idézet után megadni:
    leállítanod a futást” : Természetesen annyit már tudok, hogy ha valami folyamatot félbeszakítunk, az nincs kész. Nem is néztem annak az eredményét. Örültem, hogy nem vesztettem el a fájlt, nem kellett újra indítani a gépet.
    bemenő adat egy képletnél egy másik képlet eredménye”: A többszintű képletezést azt hiszem már értem. Azt nem értem miért befolyásolja ez a számítást. Úgy emlékszem, hogy az Excel felülről lefelé és balról jobbra irányba hajtja végre a számolást. A VBA pedig ahogy a szerkesztőben látom felülről lefelé végzi el az utasításokat. Szerintem amit el kell végezni azt el kell végezni, függetlenül attól, hogy az milyen hosszú vagy újabb bemenő adat-e. Javítsál ki legyél szíves, ha nem jól gondolkodom. Ha ugyanis nem várná meg az egyik utasítás a másik elkészültét, nagy káosz lenne.
    képleteket egymásba építjük” : Ezt a törekvést is valószínűleg értem. De szerintem a „végtelenségig” nem lehet egymásba építeni. Ugyan nem ismerek gépi korlátokat de emberit igen: külalak, logika, átláthatóság, hibakeresés, stb.
    nagyméretű fájloknál” : Természetesnek tartom, hogy vastagabb könyvet tovább tart elolvasni, még ha gyorsan is tudok olvasni.
    Alt billentyűről” és „futás végén egy újabb számolást” : Ami jelenleg jobban izgat: az alt billentyű. Kipróbáltam a programomat: Vannak „szerintem” jó adataim (hosszú Long típusúak), amin mérni tudom az eltéréseket. Egy-egy ciklust futtattam mindig ugyanazzal a bemenő adatokkal, futás közben nem nyúltam semmihez csak az alt billentyűhöz. Felváltva indítottam a ciklusokat, egyszer normál módon, másszor indítás után bal oldali alt billentyű lenyomásával. A normál módú futás ideje 3 perc volt, az alt billentyűs 1 perc 07 másodperc. Öt futást néztem, a futások ideje közötti eltérés elenyésző volt: 2-3 másodperc, ami mérési hibának is tekinthető. De az eredmények igazolták korábbi írásomat. A normál futás minden egyes eredménye (számítógéphez híven) megegyezett az eredeti adatsorral, igaz nem néztem csak 4 tizedes jegyet. Az alt billentyűs futásnál az első kettő adat megegyezett, a többi három mindig más és más volt.
    Ennyire jutottam. Kérdésekre szívesen válaszolok.
    Köszönettel:

  • KBaj

    kezdő

    válasz Fferi50 #44625 üzenetére

    Kedves Fferi50!
    Köszönettel olvastam a leveledet. A képletekről írottak nehezen mennek bele a fejembe. De ha így is van, megoldja a programozó, vagyis oldja meg, figyeljen oda. Jó következtetésre jutottam? Különben azóta beépítettem egy külön elindítható leglassabb számolással számoló rutint, ami jelez ha a megfelelő helyen nem ugyanolyan számot talál, nem csak 4 tizedest vizsgálva hanem amennyit lehet.
    Az alt billentyű gyorsító hatását nem direkt kerestem és használtam, hanem véletlenül fedeztem fel. Szerintem azért lehet érdekes másoknak is, mert futás közben véletlenül is meg lehet nyomni (gondolok itt az elvetemült felhasználóra), és ha olyan a program, hibás eredményt hozhat.
    A minta feltevése nem olyan egyszerű. Több nehezebben megoldható problémával is szembe kell néznem. Az előbbiekben említett programrész egy nagy fájlnak a része. Kísérletezek és sok minden van a fájlban. Néhány jellemzője: Totál Commander szerint 23,8 MB hosszú, van benne 31 db munkalap (nem üresek) , 13 db modul több oltalas VBA-val. Igaz találkoztam már nagyobbal is. Nem egyszerű ezt úgy megtisztítani, hogy publikus legyen, de ha sikerül megküldöm.
    Köszönettel:
    ui: Most vettem észre, hogy Delila is írt és hiányolja a válaszomat.
    Sűrű elnézést kell kérnem Tőle, nem tudom jól használni a weboldalt: azt hittem, hogy amit Ferinek írok azt látja Ő is. Ezért a legutolsó komplett bejegyzésemet és ezt a bejegyzést is megküldöm Neki.
    Üdvözlettel.

  • KBaj

    kezdő

    válasz Delila_1 #44626 üzenetére

    Kedves Delila_1
    Nagyon sajnálom tudatlanságom miatt nem kaptad meg korábbi levelemet. Bocsánatodat kell kérnem, most újból elküldöm a korábban Fferi50-nek írott leveleimet.

    Üdvözöllek Kedves Fferi50! és Üdvözöllek Kedves Delila_1!
    Meglepődtem, talán gyorsabbak vagytok mint a gépem. De félre a tréfával, köszönöm a válaszokat. Viszontválaszomat igyekszem egy-két szavas idézet után megadni:
    leállítanod a futást” : Természetesen annyit már tudok, hogy ha valami folyamatot félbeszakítunk, az nincs kész. Nem is néztem annak az eredményét. Örültem, hogy nem vesztettem el a fájlt, nem kellett újra indítani a gépet.
    bemenő adat egy képletnél egy másik képlet eredménye”: A többszintű képletezést azt hiszem már értem. Azt nem értem miért befolyásolja ez a számítást. Úgy emlékszem, hogy az Excel felülről lefelé és balról jobbra irányba hajtja végre a számolást. A VBA pedig ahogy a szerkesztőben látom felülről lefelé végzi el az utasításokat. Szerintem amit el kell végezni azt el kell végezni, függetlenül attól, hogy az milyen hosszú vagy újabb bemenő adat-e. Javítsál ki legyél szíves, ha nem jól gondolkodom. Ha ugyanis nem várná meg az egyik utasítás a másik elkészültét, nagy káosz lenne.
    képleteket egymásba építjük” : Ezt a törekvést is valószínűleg értem. De szerintem a „végtelenségig” nem lehet egymásba építeni. Ugyan nem ismerek gépi korlátokat de emberit igen: külalak, logika, átláthatóság, hibakeresés, stb.
    nagyméretű fájloknál” : Természetesnek tartom, hogy vastagabb könyvet tovább tart elolvasni, még ha gyorsan is tudok olvasni.
    Alt billentyűről” és „futás végén egy újabb számolást” : Ami jelenleg jobban izgat: az alt billentyű. Kipróbáltam a programomat: Vannak „szerintem” jó adataim (hosszú Long típusúak), amin mérni tudom az eltéréseket. Egy-egy ciklust futtattam mindig ugyanazzal a bemenő adatokkal, futás közben nem nyúltam semmihez csak az alt billentyűhöz. Felváltva indítottam a ciklusokat, egyszer normál módon, másszor indítás után bal oldali alt billentyű lenyomásával. A normál módú futás ideje 3 perc volt, az alt billentyűs 1 perc 07 másodperc. Öt futást néztem, a futások ideje közötti eltérés elenyésző volt: 2-3 másodperc, ami mérési hibának is tekinthető. De az eredmények igazolták korábbi írásomat. A normál futás minden egyes eredménye (számítógéphez híven) megegyezett az eredeti adatsorral, igaz nem néztem csak 4 tizedes jegyet. Az alt billentyűs futásnál az első kettő adat megegyezett, a többi három mindig más és más volt.
    Ennyire jutottam. Kérdésekre szívesen válaszolok.
    Köszönettel:

    Kedves Fferi50!
    Köszönettel olvastam a leveledet. A képletekről írottak nehezen mennek bele a fejembe. De ha így is van, megoldja a programozó, vagyis oldja meg, figyeljen oda. Jó következtetésre jutottam? Különben azóta beépítettem egy külön elindítható leglassabb számolással számoló rutint, ami jelez ha a megfelelő helyen nem ugyanolyan számot talál, nem csak 4 tizedest vizsgálva hanem amennyit lehet.
    Az alt billentyű gyorsító hatását nem direkt kerestem és használtam, hanem véletlenül fedeztem fel. Szerintem azért lehet érdekes másoknak is, mert futás közben véletlenül is meg lehet nyomni (gondolok itt az elvetemült felhasználóra), és ha olyan a program, hibás eredményt hozhat.
    A minta feltevése nem olyan egyszerű. Több nehezebben megoldható problémával is szembe kell néznem. Az előbbiekben említett programrész egy nagy fájlnak a része. Kísérletezek és sok minden van a fájlban. Néhány jellemzője: Totál Commander szerint 23,8 MB hosszú, van benne 31 db munkalap (nem üresek) , 13 db modul több oltalas VBA-val. Igaz találkoztam már nagyobbal is. Nem egyszerű ezt úgy megtisztítani, hogy publikus legyen, de ha sikerül megküldöm.
    Köszönettel:
    ui: Most vettem észre, hogy Delila is írt és hiányolja a válaszomat.
    Sűrű elnézést kell kérnem Tőle, nem tudom jól használni a weboldalt: azt hittem, hogy amit Ferinek írok azt látja Ő is. Ezért a legutolsó komplett bejegyzésemet és ezt a bejegyzést is megküldöm Neki.
    Üdvözlettel.

  • KBaj

    kezdő

    válasz Fferi50 #44629 üzenetére

    Kedves Fferi50!
    Köszönöm a felvilágosítást. Ahogy elküldtem az üzeneteket böngészni kezdtem a weboldalt és akkor láttam a privát levelezést. Valóban ott van Delila bejegyzése. Ott is válaszolni fogok Neki. Ezután jobban tudom használni a rendszert.
    Kösz. Üdvözlet:

  • KBaj

    kezdő

    Help! Help! Help!
    Sziasztok! Könyörgöm segítsen Valaki!
    Excel VBA-ban az Application.EnableEvents=False / True utasításba belegabajodtam. Azóta nem működik a számolás, nem számolja ki a képleteket. Végigfut a vba kódon, de nem számol. Ha a táblán ráállok egy képletre F2 után Enterre kiírja az eredményt, nulla. Pedig nem nulla az eredmény. A képlet egyszerű: két cella összeadása. Még agép ki-be kapcsolása sem segít.
    Köszönöm a segítséget!

  • KBaj

    kezdő

    válasz Fferi50 #44726 üzenetére

    Szia!
    Köszönöm a gyors választ.
    Is merem a felhozott javítási módokat, meg is akartam próbálni, de amikor behívtam úgy láttam működik. No akkor -mondom TESZT-. Elkezdtem próbálgatni a korábban felépített funkciókat, de belebukott, mert az Excel összekavarodott és azt mondta: újraindulok. Na elég -mondom- elég. Folytatom egy korábbi, még működő példány újbóli felépítését - nem lesz egyszerű.
    Üdvözlet.

  • KBaj

    kezdő

    Sziasztok!
    Ismét egy problémába ütköztem. A feladatom megoldására Solvert használok, eddigi megelégedésemre.
    Először működött a dolog, röviden jelképesen leírva: Solver makrórögzítővel felvéve >> kiegészítve VBA utasításokkal >> VBA programomba helyezve, működött rendesen. Csiszolgattam a VBA programomat és most már nem úgy működik ahogy akarom. Ugyanis minden meghívás után a "A változó celláknak az aktív lapon kell lenniük." ablak jelenik meg. Pedig szerintem minden stimmel: a változók azon lapon vannak ahonnan meg lett hívva (select vagy activete lap). Az OK gombra kattintva tovább megy és teszi dolgát, jól. Ez, az egész projektet nézve bosszantó. Ugyanis a futás közben nagyon sokszor meg kéne nyomni az OK gombot.
    Mit csinálhattam rosszul?
    Üdvözlet.

  • KBaj

    kezdő

    válasz Bobrooney #44751 üzenetére

    Szia!
    Köszi, hogy érdeklődsz a témám után. Szerintem ránézésre minden megfelelő. Azóta kipróbáltam: ugyanarról a munkalapról dolgozva újból felvettem a makrót Excel fejlécről indítva, ugyanazokat cellákat használva. Persze rendben lefutott, csak a végző ablak (Megoldást talált ...) jelent meg, de ez természetes. Többször végig futott hiba nélkül. Egy furcsaságot tapasztaltam: kétszer jegyezte be az "SolverOk SetCell..." parancsot. Gondoltam sebaj, olvastam már interneten tőlem okosabb emberektől, hogy a makró rögzítő sok esetben igen bőven lejegyzi a parancsokat. A konkrét feladat megoldáshoz lehet, hogy nem minden sor kell. ... Nem baj én kétszer bemásoltam a kódsorokat az én programomba, úgy se ment, ill. kiírta a figyelmeztető ablakot.
    Még egy módosítás: a fentebb említett parancs után van egy "SolverSolve" utasítás, ahogy a rögzítésben is van. Ilyenkor a futás végén megjelenik a "Megoldást talált" ablak, de ha szóközzel utána írjuk az "UserFinish:=True" szöveget nem kérdez, jóváhagyottnak tekinti a kiszámolt adatokat és továbbadja a vezérlést. Én így akarom használni.
    Szívesen válaszolok további kérdésekre.
    ÜDv.

  • KBaj

    kezdő

    Sziasztok!
    Saját korábbi hozzászólásomhoz szeretnék néhány gondolatot írni. VBA programozásaimkor fordult elő, hogy belövéskor Next nélküli ciklus hibát jelzett. A For-Next ciklusokkal semmi baj nem volt. De akkor hol a hiba? Nagyon sokáig kerestem a hibát. Nagy nehezen megtaláltam az End If nélküli hibát. Kijavítottam és minden rendben volt. Azóta ilyen hibajelzés esetén nagyon figyelek az End If-re is.
    Az előbbiekből kiderült, hogy megtaláltam egy programozási hibát, de nem baj mert tudom rá a reakciót. De okosak voltak a programozók, mert ugyan nem határozták meg a hibát (gondolom nem akarattal), de nem engedték el, így hibajavítás nélkül nem fut a program.
    Gyanítom, hogy ugyanígy jártam most a Solverrel. Nem is az a Hiba amit kiír, mert tovább enged, de valami van. Csak bosszantó mert gombnyomást vár. De akkor mi lehet a hiba, mert nem az amit kiír. Tanulságul.
    Üdv.

  • KBaj

    kezdő

    Kedves Mindenki!
    Régen jelentkeztem, de eléggé lekötnek a munkáim.
    A jelenlegi munkámban akadt egy feladat amiben nem tudok dűlőre jutni, ezért kérném és megköszönném a segítségeteket.
    Feladat: Adott egy táblázat, melyben van egy range_data névvel elnevezett Range és egycellából álló CellaSzín1 nevű Range tartomány. A cél az, hogy egy tetszőleges eredmény cellában (minél gyorsabban) megszámoljuk a CellaSzín1 nevű cella kitöltő színével megegyező range_data celláit, melyek a keresést megelőzően Excel táblában beállított feltételes formázással lett megszínezve több féle színnel.
    Az interneten való kutakodás után a következőkre jutottam: Talán a legjobb lenne táblafüggvényt írni, mert azt sokkal hamarabb elvégzi az Excel, mint a lomha VBA For-Next ciklust. Így az alábbival próbálkoztam:
    Function CountCcolor(range_data As Range, CellaSzín1 As Range) As Long
    Dim cel As Range
    Dim xcolor As Long
    Set range_data = Application.Range("Munka1!O3183:S3284")
    xcolor = CellaSzín1.Interior.ColorIndex
    For Each cel In range_data.Cells
    If cel.Interior.ColorIndex = xcolor Then
    CountCcolor = CountCcolor + 1
    End If
    Next cel
    End Function
    A tetszőleges cellába írtam a meghívó függvényt: =CountCcolor(CellaSzín1;range_data) azzal a szándékkal, hogy a tábla újraszámolás utasításra (amely lehet automatikus Excel vagy VBA külön utasítás) beírja a cellába a range_data tartományban talált CellaSzín1 cella alapszínével megegyező cellák darabszámát. De sajnos nem így van. A funkció függvény lefut ugyan, de nem működik stabilan, ha nem #ÉRTÉK hibát jelez akkor a kijelzett szám annyi mint a vizsgált terület „szín nincs” összes celláinak száma (CellaSzín1.Interior.ColorIndex=-4142; negatív, tehát nincs szín). Pedig lenne mit összeszámolni.
    Nem tudom hogyan tovább?
    Tisztelettel megkérek Mindenkit, aki tud segítsen.
    A segítséget előre is köszönöm.

    Kbaj

  • KBaj

    kezdő

    válasz Fferi50 #45362 üzenetére

    Kedves Fferi50!
    Nagyon köszönöm, hogy ilyen hamar reagáltál a problémámra.
    Válaszod felsorolása szerint fogok én is viszontválaszolni:
    A függvény leírás és hívás paraméterek sorrendjét szinkronizáltam. (Tanultam: azt hittem mindegy a sorrend, hisz a VBA nevek szerint tudja azonosítani öket.) A függvénybe a Set sor azért került bele, mert később, sok-sok futás után VBA szinten módosítani (növelni) akarom a terület nagyságát. Ez gondolom felülírja az induláskor Excel táblán manuálisan beállított értékeket. Feltételes formázás: nem tudtam, hogy cella interior.color színe nem változik. Kicseréltem a feltétel sort. (Tanultam: feltételes formázás csak a mutatott képet (Display) módosítja?) Táblafüggvény: Eddigi értelmezésem szerint az a függvény ami az Excel megnyitásakor képernyőn jelentkező táblázat bármely cellájában beírható vagy található =f(x) formátumú, kódja „gyárilag” Microsoft programban vagy egyénileg VBA Modullapon van megírva. Tapasztaltam már, ha pl. átlagot akarok számolni VBA-ban For-Next ciklussal nagyon-nagyon lassabb mint a beépített ÁTLAG() függvény.
    Még nem teszteltem a módosításokat, mert megjött az unokám, aki nagyon vártam.
    Köszönöm a segítséget.
    Üdvözlettel:
    KBaj

  • KBaj

    kezdő

    válasz Fferi50 #45364 üzenetére

    Kedves Fferi50!
    Először is köszönöm a gratulációt. 4 éves, imádom.
    Köszönöm szépen a segítségeket és magyarázatokat is. A Set sort kiszedtem. Az If sorban betettem a DisplayFormat. szót, azonban így sem működik rendesen. Leírom mit tapasztaltam:
    Function CountCcolor1(CellaSzín1 As Range, range_data As Range) As Long
    Dim cel As Range
    Dim xcolor As Long
    xcolor = CellaSzín1.Interior.ColorIndex
    For Each cel In range_data.Cells
    If cel.DisplayFormat.Interior.ColorIndex = xcolor Then
    CountCcolor1 = CountCcolor1 + 1
    End If
    Next cel
    End Function
    - Az utolsó sorba tettem margón kívülre egy megállító pöttyöt, hogy ha az Excel rámegy akkor megálljon.
    - A DisplayFormat. beírás nélkül lefut. Azt, hogy lefut látom, mert megáll a pöttynél és besárgul. A kis háromszögre kattintva tovább megy (ahogy kell) és az eredménycellában nulla szám jelenik meg.
    - DisplayFormat. beírással nem tudom mi történik, de nem jár a pöttynél, mert nem áll meg. Azonban az eredménycella #ÉRTÉK hibaüzenetre vált.
    - Az eredménycella újraszámolását (függvényem meghívását) F2 billentyű előhívással és javítás nélkül enterrel újrabeírással kényszerítettem ki.
    A CountCcolor1 és CellaSzín1 végén az 1-es (majd 2, 3, ...) jelzi majd, hogy melyik színt keresi.
    Próbáltam beírni a xcolor = CellaSzín2.DisplayFormat.Interior.ColorIndex sorba is, de ugyan úgy nem állt meg a pöttynél és #ÉRTÉK hibaüzenet adott.
    Nem tudom mit csináljak, pedig szerintem a feladat nem olyan nehéz: meg kéne számolni, hogy egy területen hány piros, kék, …. kitöltőszínű cella van.
    Üdvözlettel:
    KBaj

  • KBaj

    kezdő

    válasz Delila_1 #45369 üzenetére

    Kedves Fferi50 és Delila_1 !
    Köszönöm Delila_1, hogy Te is bekapcsolódtál a beszélgetésbe. Érdekes a javaslatod, de kezdő vagyok és nem nagyon értem minden sorát. Különösen az Application.Volatile sort, miért kell bele? A CV > 40 sornál mi a 40-es szám?
    Időközben kísérletezgetek: VBA futtatását Hibakeresés módszerrel: a kód sorokban megállító pöttyöket helyezek el és így vizsgálom, hogy hogyan változnak a változók.
    Egy másik szintén félig kész függvényen érdekes dolgot tapasztaltam. A függvény eleje a későbbi programban felhasználandó változók kezdő értékét tartalmazza, konstans, munkalap cella konstans, munkalap cella, mely beépített függvény szerinti kiszámított értéket adja a cellának. Azonban az első két módszer szerint rendben megy, de a beépített függvény szerinti értékadást egyszerűen kihagyja (a példa szerinti a = Cells(12, Kezd) sor). A megállás helyét sárga színnel jelzett állapotban a kurzort a változó fölé víve Empty hibát mutat, pedig utána is elvégzi a munkát.
    Továbbá egy ponttól nem megy tovább, kilép. Pedig nem szokatlan programsort kellene végrehajtania. Úgy tudom (és remélem jól tudom), hogy a VBA a programot ahogy látható a szerkesztő ablakban föntről lefelé, sorban egymás után kell végrehajtani. Ime a kódrészlet:
    Function Poisson2(Feltétel2 As Range) As Long
    Call kep_ki
    k = 0
    Kezd = Cells(8, 7)
    Kezd5 = Kezd + 5
    a = Cells(12, Kezd)
    Előford = Kezd + a
    Valószín = Előford + 90
    Várak = Valószín + 90
    Us = Cells(4, 7) + Cells(2, 7)
    Cikl = Cells(5, Előford + 1)
    Cells(6, Előford + 1) = Cikl
    Range(Cells(Cikl + 1, Kezd + 1), Cells(Us, Kezd + 15)).ClearContents
    Az utolsó előtti sort még végrehajtja (ez a megállás helye szerinti sor), az utolsót viszont nem, visszatér a munkatáblához Erték hibával.
    Kedves Fferi50 bejegyzésedben a Cella.DisplayFormat.Interior.Color(index) utasítsró írsz. A fenti programrészletben nincs ilyen, mégsem emészti meg a VBA.
    (Nekem is 2016 Excel van)
    Üdvözlettel:
    KBaj

  • KBaj

    kezdő

    válasz Fferi50 #45373 üzenetére

    Kedves Fferi50 !
    Szomorú vagyok. Nem gondoltam volna, hogy a feltételes formázás ilyen galibát tud okozni. Úgy látszik más utat kell választanom.
    Hát így jártam.
    Na, nem baj tovább keresem az utat. De sokat tanultan.
    Köszönöm szépen az eddigi segítséget, tájékoztatást és útmutatást.
    Üdvözlettel:
    KBaj

  • KBaj

    kezdő

    válasz Fferi50 #45377 üzenetére

    Kedves Fferi50 !
    Húúú! De jó! Nagyon biztató, tényleg visszajött e kedvem. Máris belebújok és elemzem, megértem és használom. Jelentkezem az eredménnyel.
    Köszönöm szépen.
    Üdvözlettel:
    KBaj

  • KBaj

    kezdő

    válasz Fferi50 #45384 üzenetére

    Kedves Fferi50 !
    Mint ahogy írtam is a legutóbbi bejegyzésemben, dolgozom az ügyön és most félállásban vagyok, de igen jók a kilátások, hála Neked. A saját számíze szerint átírtam a kódot, úgy néz ki szépen működik és gyors!!! Íme a példa:
    '***** Prohardver nyomám Színes cellák számolása
    Sub CountCcolor() 'Cellaszín szerinti darabszám
    Dim cel As Range, cminta As Range, cter As Range, countcl As Long
    Dim xcolor As Long
    Dim j As Integer
    Range("O14:S14").ClearContents 'Színtalálatok törlése
    'If Selection.Areas.Count <> 2 Then MsgBox "Nem megfelelő a terület kijelölése", vbCritical: Exit Sub
    ' If Selection.Areas(1).Cells.Count = 1 Then ' Kijelölt területek azonostása: Count=1 Mintaszín
    ' Set cminta = Selection.Areas(1): Set cter = Selection.Areas(2)
    ' Else
    ' Set cminta = Selection.Areas(2): Set cter = Selection.Areas(1)
    ' End If
    Set cter = Range(Cells(3183, 15), Cells(3283, 19)) 'Vizsgáladó terület
    'A Mintaszínek sorra vétele
    For j = 1 To 3
    Set cminta = Range(Cells(20, 14 + j), Cells(20, 14 + j)) 'Mintaszín
    countcl = 0 'Színes cella számláló
    xcolor = cminta.Interior.ColorIndex 'A mintaszín Index száma
    For Each cel In cter.Cells 'Végig vizsgálandó területen
    If cel.DisplayFormat.Interior.ColorIndex = xcolor Then 'Ha egyforma a vizsgált cella és minta színindexe
    countcl = countcl + 1 'Számláló növelése
    End If
    Next cel
    Cells(14, 14 + j) = countcl 'A színből talált darabszám
    'MsgBox countcl
    Next j
    End Sub
    Köszönöm szépen az alapötletet.
    Üdvözlettel:
    KBaj

  • KBaj

    kezdő

    válasz Delila_1 #45385 üzenetére

    Delila_1
    Nagyon szépen köszönöm a tájékoztatást, hasznos volt részemre az információ.
    Üdvözlettel:
    KBaj

  • KBaj

    kezdő

    válasz Fferi50 #45384 üzenetére

    Kedves Fferi50 !
    Nagy lelkesedésemben eljutottam egy korábban kiderített hibához, amit azóta sem tudtam megoldani, sem megmagyarázni. Konkrétan a 45372 számú bejegyzésemben tett tapasztalásomhoz. Miszerint egy darabig a VB végrehajtja az utasításokat és adott sortól egyszerűen otthagyja a programot, visszatér az munkalaphoz, mintha egy END SUB-ot kapott volna.
    Nem tudom mit tegyek. Tudnál segíteni?
    Üdvözlettel:
    KBaj

  • KBaj

    kezdő

    válasz Fferi50 #45396 üzenetére

    Kedves Fferi50 !
    Ime a program, elég hosszú. Persze ez is függvény azért, mert ha fog működni SOLVER célcellájaként akarom alkalmazni.
    Function Poisson2(Feltétel2 As Range) As Long
    Call kep_ki
    Application.Volatile ’Prohardver Delila_1 nyomán
    k = 0
    Kezd = Cells(8, 7) 'Feltétel kezdete oszlop
    Kezd5 = Kezd + 5 'Javasolt számok terület előtti oszlop száma
    Kezd22 = Kezd + 22 'Feltételek a javaslat válogatásához
    a = Cells(12, Kezd) 'A munkatábla kezdő előtti oszlop száma
    Előford = Kezd + a 'K(i) táblázat kezdő előtti oszlop száma
    Valószín = Előford + 90 'P(x=1) táblázat kezdő előtti oszlop száma
    Várak = Valószín + 90 'n(i) táblázat kezdő előtti oszlop száma
    Us = Cells(4, 7) + Cells(2, 7) 'Táblázat utolsó sora
    Cikl = Cells(5, Előford + 1) 'A számolás kezdete sor
    Cells(6, Előford + 1) = Cikl 'Ez lesz a Ciklusváltozó kezdete
    Range(Cells(Cikl + 1, Kezd + 1), Cells(Us, Kezd + 15)).ClearContents 'számítása sorok törlése
    Range(Cells(Cikl, Előford + 1), Cells(Us, Valószín)).ClearContents 'K(i) táblázat törlése
    Range(Cells(8, Előford + 1), Cells(8, Valószín)).Value = _
    Range(Cells(Cikl - 1, Várak + 1), Cells(Cikl - 1, Várak + 90)).Value 'Az n(i-1) sor feltöltése
    Cells(14, Előford + 1).Formula = Cells(14, Kezd + 49).Formula
    Cells(14, Előford + 1).Select 'Kijelölés kitöltéshez
    Selection.AutoFill Destination:=Range(Cells(14, Előford + 1), Cells(14, Valószín)), Type:=xlFillDefault
    'Feltételek
    Range("AF11:AJ11").Value = Range("AF4:AJ4").Value 'Manuális számítás
    'Calculate 'A munkalapfüggvények számolása
    For Cikl = Cells(6, Előford + 1) To Us 'Az utolsó + 1-ig
    '1. : 'Az n(i-1) és az előző ciklusban kitörölt képletek újrafelépítése a Tartalék raktárcellából BF14
    Range(Cells(8, Előford + 1), Cells(8, Valószín)).Value = _
    Range(Cells(Cikl - 1, Várak + 1), Cells(Cikl - 1, Várak + 90)).Value 'Az n(i-1) sor feltöltése
    Cells(14, Előford + 1).Formula = Cells(14, Kezd + 49).Formula 'Képlet
    Cells(14, Előford + 1).Select 'Kijelölés kitöltéshez
    Selection.AutoFill Destination:=Range(Cells(14, Előford + 1), Cells(14, Valószín)), Type:=xlFillDefault
    '[P(x=1) 13-dik sor]
    For i = 1 To 5
    For j = 1 To 90
    Calculate 'A munkalapfüggvények kiszámolják a 14-dik
    If Cells(13, Előford + j) <= Cells(11, Kezd22 + i) _
    And Cells(14, Előford + j) Then
    For k = 1 To 5
    If Cells(14, Előford + j) = Cells(Cikl, Kezd5 + k) Then GoTo Köv
    Next k
    Cells(Cikl, Kezd5 + Cells(17, Kezd5 + i)) = Cells(14, Előford + j)
    Cells(Cikl, Kezd + 10 + Cells(17, Kezd5 + i)) = Cells(13, Előford + j)
    Cells(14, Előford + j) = ""
    j = 90
    End If
    Köv: Next j
    Next i
    '2.
    Cells(6, Előford + 1) = Cikl
    'Calculate 'A munkalapfüggvények számolása
    If Cells(Cikl, 4) Then
    For j = 1 To 5
    Cells(Cikl, Kezd + j) = Cells(12, Előford + Cells(Cikl, 3 + j))
    Next j
    Else
    End If
    'Calculate 'A munkalapfüggvények számolása
    Range(Cells(Cikl, Előford + 1), Cells(Cikl, Valószín)).Value _
    = Range(Cells(Cikl - 1, Előford + 1), Cells(Cikl - 1, Valószín)).Value
    For j = 1 To 90
    Cells(8, Előford + j) = Cells(8, Előford + j) + 1 'n(i) cellasor munkatáblában(i) cellasor
    Next j
    If Cells(Cikl, 4) Then
    For j = 1 To 5
    Cells(Cikl, Előford + Cells(Cikl, 3 + j)) _
    = Cells(Cikl, Előford + Cells(Cikl, 3 + j)) + 1
    Cells(8, Előford + Cells(Cikl, 3 + j)) = 0 'n(i) cellasor
    Next j
    End If
    'Calculate
    Range(Cells(Cikl, Valószín + 1), Cells(Cikl, Várak)).Value _
    = Range(Cells(12, Előford + 1), Cells(12, Valószín)).Value
    Range(Cells(Cikl, Várak + 1), Cells(Cikl, Várak + 90)).Value _
    = Range(Cells(8, Előford + 1), Cells(8, Valószín)).Value
    Next Cikl
    Call CountCcolor 'Prohardver nyomám Színes cellák számolása**** Modul3 lapon
    Poisson2 = WorksheetFunction.Sum(Range("O14:S14")) 'Solver Célcella
    Call kep_be
    End Function

    Elég hosszú a program, van még mit csiszolni, egyszerűsíteni rajta. Mint már említettem kezdő programozó vagyok, nem értem a (</>) gombot mit jelent.
    Segítségedet előre is köszönöm.
    Üdvözlettel:
    KBaj

  • KBaj

    kezdő

    válasz Fferi50 #45401 üzenetére

    Kedves Fferi50
    Korábbi bejegyzésem szerinti hibát keresem: „Miszerint egy darabig a VB végrehajtja az utasításokat és adott sortól egyszerűen otthagyja a programot, visszatér az munkalaphoz, mintha egy END SUB-ot kapott volna.” Igaz módosítottam egy kicsit: a Cikl változóra később lesz szűkségem.

    Cells(6, Előford + 1) = Cells(5, Előford + 1)
    'Cells(6, Előford + 1) = Cikl
     
    Mindig a „Cells(6,….)=Cells(5,….)” sornál száll ki. Nem hajtja végre, pedig minden szükséges paramétere ismert, számszerűleg meghatározott.
    Igaz, ha a Cells(6,…) cella megváltozna, kiváltana egy újraszámolási Excel műveletet, de ez a program elején az alábbiak szerint Call kep_ki rutinnal ki van kapcsolva:

    Sub kep_ki()
        Application.ScreenUpdating = False
        Application.CutCopyMode = False
        Application.Calculation = xlCalculationManual
    End Sub

    Nem értem miért hagyja ott a rá bízott feladatot (ez nem számítógéphez méltó viselkedés) és mintha mi sem történt volna, visszatér oda ahonnan ideküldték. Rejtély.
    Beszúrtam egy kísérleti sort a Kezd változó meghatározása után Cells(6, Kezd + 10) = Kezd. És most már innen szállt ki. Tehát NEM tudja végrehajtani a cellába írást? Ne feledjük Függvény rutinban vagyunk.
    Tovább keresek.
    Üdvözlettel:
    KBaj

  • KBaj

    kezdő

    válasz Fferi50 #45403 üzenetére

    Úgy látom váltanom kell a lapon alkalmazott stílusra.
    Szia!
    Milyen számításra gondolsz? Én még mindig a korábbi megfigyelésemnél tartok: "És most már innen szállt ki. Tehát NEM tudja végrehajtani a cellába írást?".
    Ne haragudj ezért a kérdésemért, de én korábban nem ilyen nyelvi környezetben éltem: mi az a privi?
    Üdv.

  • KBaj

    kezdő

    válasz Fferi50 #45405 üzenetére

    Szia!
    Semmi kifogásom a stílus ellen. Csak én míg dolgoztam máshoz szoktam. Ebből már következtethetsz a koromra.
    Privi, .... hát persze már használtam, megnéztem. .... Dolgozom rajta.
    Köszönöm.
    Üdv.

  • KBaj

    kezdő

    válasz KBaj #45406 üzenetére

    Szia!
    Beírtam a hibakezelést. Valami olyasmit írt ki, hogy aplikáció vagy objektom definíció hiba. A számra nem emlékszem. Nem tudom elküldeni mert lefagyott, nemtudok semmit csinálni vele. Valószínű ki kell klapcsolni.
    Üdv.

  • KBaj

    kezdő

    válasz Fferi50 #45405 üzenetére

    Szia!
    A pontos hibajelentés többszöri futásra is:
    1004 Application-defined or object-defined error.
    Üdv.

  • KBaj

    kezdő

    válasz Fferi50 #45409 üzenetére

    Szia!
    Hát igen. Korábbi VBA kísérleteimnél többször kaptam Next hibáról hibajelentést. Nem találtam a hibát. Minden For-nak meg volt a párja, le is rajzoltam a kapcsolódásokat. Már lassan ott tartottam, hogy hozom a fejszét és belevágom. Míg egyszer rájöttem. Találtam egy End nélküli If-et. Hát ez a baj. De akkor miért ír Next hibát? ..... Azóta ilyen hibára a keresést End hiányával kezdem. .... Magamban levontam a következtetést: MS-ék a VBa Help rendszerét nem elég mélyen csinálták meg. Lásd most is: a hibán átlépett, mintha minden rendben lenne és az ember azt hiszi mindent elvégzett, amit a programban előírtunk neki. Azóta minden hibajelentést fenntartással fogadok, nem biztos, hogy az a hiba ami le van írva. Tanultam: Ahogy tanácsoltad, hibakezelési sort érdemes beépíteni.
    A mostani hibával kapcsolatban: a számításokat nagyrészt a munkalapon munkalapfüggvények végzik, a VBA kisebb számítások mellett ezek elvégzésük időbeni vezérlését és eredmények válogatását végzik. Azért is van vezérelve az újraszámolás, alaphelyzet kikapcsolt, számolás csak Calculate utasításra.
    Mindennek ellenére tovább kísérletezem, mert az Excel szép.
    Üdv.

  • KBaj

    kezdő

    válasz Mutt #45417 üzenetére

    Szia!
    Köszönöm, hogy hozzászóltál és tanácsot adtál.
    Észrevételedre: Valóban a kód a G8-ra hivatkozik, de az nem üres hanem értéke 9, ami ránézésre csalóka, mert a G8 és H8 Excel művelettel cellaegyesítve van, igazítása középre (piros háttérszínnel). Hivatkozása viszont marad az első cella címe.
    Az utóiratodra: Nagyon sokat kísérletezek Excel-VBA-val. Sokszor változtatok ezt-azt. A Feltétel2 nevű tartományt a program első harmadában használom először a 'Feltételek megjegyzés sor után: Range("AF11:AJ11").Value = ... , igaz nem név szerint, hanem tartalom szerint. Nem tudom, hogy helyes-e. Nem függvényként futtatva a programot, lefut rendesen.
    Amit eddig tudok: Az 1004 Application-defined or object-defined error
    akkor jön elő, ha olyan utasítást kell végrehajtania, ami egy értékadás valaminek egy munkalapfüggvényt tartalmazó cellából. Persze a munkalapfüggvény helyes. Autódidakta megérzésem ezen az úton kell elindulni a hibakeresésben.
    Minden hozzászólást szívesen fogadok. Köszönöm az eddigieket.
    Üdv.

  • KBaj

    kezdő

    Kedves Mindenki!
    Beleakadtam egy problémába: szeretném a segítségeteket kérni!
    Egy java alapú statisztikai feldolgozó programnak a bemenő adatfájlja vesszővel(!) elválasztott, .csv kiterjesztésű egyszerű szöveg. Excelben készítem elő az adatokat, azaz egy függvénnyel minden adatot (numerikus) soronként összevonva beviszek az első (A) oszlopba a pl.: =b1 & „,” & c1 & „,” & d1 & „,” & e1 … és így tovább, míg van adat a sorban. Majd csak az A oszlopot meghagyva mindent kitörlök, az A oszlop tartalmát Értékként visszamásolom ugyan arra a helyre és elmentem .csv kiterjesztettként. Az eredményt megnézve pl. Totál Commander Nézőkéjével: a szükséges .txt-hez hasonló fájl jött létre. És nincs ezzel baj, a program megérti, alakít még rajta és dolgozik vele. Itt jegyzem meg: mind ezt manuálisan végeztem. De nekem nagyon sokszor kell ezt megcsinálnom.
    A .csv fájl készítést megpróbáltam VBA-ban, itt a részlete:
    'A másolandó Adatsor
    Sheets("… Adatsor").Select
    Range(Cells(Cikl - 20 + 1 - Id, oszl), Cells(Cikl - 20, oszl)).Select
    Range(Cells(Cikl - 20, oszl), Cells(Cikl - 20, oszl)).Activate
    Selection.Copy

    'Hová másoljuk
    Workbooks.Add
    Range("A1").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
    Application.CutCopyMode = False
    ActiveWorkbook.SaveAs Filename:= _
    "C:\...\Vesszővel tagolt" & sz & Cikl & ".csv", FileFormat:=xlCSVUTF8, CreateBackup:=False

    A részletben Cikl,Id,oszl,sz előre megadott intewger és string változók. Két hiba jelentkezik:
    Az elkészített .csv fájl Adatsorai mind idézőjelek közé kerültek és így már nem megfelelően értelmezi a statisztikai program. A kód részlet utolsó sorában lévő mentés, ha van már olyan nevű fájl, mindig megkérdezi: cserélje-e a fájlt. A cél az lenne, hogy ne kérdezze; nyugodtan cserélje le.
    Röviden ez a problémám.
    Ha valaki tud, kérem segítsen.
    Köszönöm.

  • KBaj

    kezdő

    válasz Pakliman #45667 üzenetére

    Kedves Pakliman!
    Köszönöm szépen a reagálásod!
    Valóban jó ötletet adtál; fájl komplett felülírása helyett megfelelő lehet annak legyilkolása, úgy sem kellenek már az adatok.
    A bejegyzésed után azonban Fferi50 javasolt egy számomra „szebb” megoldást. Mint tudjuk egy feladat megoldása véges sok számú lehet.
    Köszönöm, hogy figyeltél rám.

  • KBaj

    kezdő

    válasz Fferi50 #45668 üzenetére

    Kedves Fferi50!
    Köszönöm szépen a reagálásod!
    Mint Paklimannak irt bejegyzésemből kitűnik, Javaslatod a fájl mentési kérdés kikerülésére nagyon jól bevált és működik. Köszönöm szépen.
    A csv készítéssel (egyszerűsítéssel) még küszködök.
        Sheets("CSV készítéshez").Select
        Range(Cells(1, 1), Cells(1, 6)).Value = _
            Sheets("… Adatsor").Range(Cells(1, oszl + 1), Cells(1, oszl + 6)).Value
    Készítettem egy CSV készítés nevű munkalapot, mert az előbbi sok minden mást is tartalmaz, ami nem kell a csv-hez. Az adatok átvitelekor azonban az alábbi hibát jelzi és nem tudok mit kezdeni vele.
    Kérem segítsél, ha módodban áll.
    Köszönöm a segítségedet.

    [ Szerkesztve ]

  • KBaj

    kezdő

    válasz Fferi50 #45682 üzenetére

    Szervusz!
    Elnézést kérek, képként akartam csatolni, de nem sikerült (ezzel is küszködök). inkább leírom. a Range kezdetű sor okozza a hibát:
    Run-time error '1004':
    Application-defined or object-defined error
    Nem értem, abból amit küldtem, hogy gondolod, hogy ragaszkodok...
    A megküldött példának a következőket kéne csinálnia: Kiválasztja a munkalapot - jól. Az A1: F1 területre 6 cellába írja be egy másik munkalapról ugyancsak 6 cella tartalmát. Ez 6 oszlopos és egysoros adatfájl lenne. Utána, <ami még nincs kész> írnám a többi adatsort ugyanilyen szerkezetben. Ebben akódban nem gyűjtök semmit, cellát cellába másolok. Vagy valamit rosszul csinálok?
    Fontos, hogy az adatok tagolása ne pontosvessző legyen, hanem sima vessző, mert azt nem érti a statisztikai program (angol nyelvű).
    Köszönettel.

  • KBaj

    kezdő

    válasz Fferi50 #45684 üzenetére

    Szervusz!
    Ez nagyszerű!
    - A sok pont megtette a hatását. Mindig is küzdöttem a Range-vel, de kezdem érteni. Hurrá működik. A jó öreg With segített és megtette amit tudott és erre Te vezettél rá. Nagyon szépen köszönöm.
    - Persze tudom ugyanolyan szerkezetű több sort is tudok mozgatni.
    A "Pontosvessző" még "sima". Manuálisan: Excelben: kijelölök egy cellaterületet, CTRL+C vágólapra másolom - Nyitok egy új munkafüzetet - megnyíló lapjára CTRL+V bemásolom - mentem Másként az új munkafüzetet CSV UTF-8-ként - Totál Commander Nézőke=adatelválasztó pontosvessző>>>hát persze, hogy nem érti az angol. (Többször is kipróbáltam). Vajon mit csinálok rosszul?
    Üdvözlettel.

Új hozzászólás Aktív témák