Új hozzászólás Aktív témák
-
martonx
veterán
-
martonx
veterán
Szia, a VBS tökéletes játszós nyelv, viszont semmi semmivel nem kopmatilibis aminek a nevében szerepel a visual basic.
Ugyanakkor a szintaktikájuk azonos, szóval annyira nem vészes vbs-ről vb.net-re tovább mozdulni, pláne ha zöldmezős fejlesztésről van szó, akkor én csakis VB.NET-tel állnék neki (na jó én személy szerint C#-al, de a lényeg hogy .Net). -
martonx
veterán
válasz
Ferenc. #2709 üzenetére
Nézd aranyos a törekvésed, de lássuk be a Visual Basic 6 nem csak hogy régi, de az informatikában már egyenesen ősi a maga 20 éves korával. Őszintén meglepődnék rajta, hogy ha valahol az internet legeldugottabb bugyraiban sikerülne is fellelned, sikerülne-e vajon feltelepítened
A bácsi teljesen nyugodtan elkezdhet programozni helyette a legújabb Visual Basic nyelven, hiszen maga a basic szintaxis alig-alig változott, hello world-öt nem nehéz bármilyen nyelven írni
Az meg ne tántorítson el a legújabbtól, hogy de nektek a VB6-hoz van licenszetek, hiszen időközben az újabb verziók ingyenesek lettek
és az se vezessen félre, hogy a VB6-hoz van könyvetek, hiszen az internet tele van könyvekkel, és könyvet is egyszerűbb egy napra kész nyelvhez találni, mint egy 20 éveshez.
-
martonx
veterán
válasz
Atomantiii #2648 üzenetére
Akkor ebben nem tudok segíteni. Minden ami 2005 előtti, az számomra nem létezik.
-
martonx
veterán
válasz
Atomantiii #2646 üzenetére
Nem tudom mi az a visdata.
-
-
martonx
veterán
"azonban az Excel file Shared módban van, hogy egyszerre többen tudjanak dolgozni, viszont szerintem ez problémát okoz"
Szerinted, vagy tényleg problémát okoz?
Ha megmakrózod az excelt, és mögé tolsz egy adatbázist, akkor nem kell Shared mode, de lehet hogy ez overkill megoldás. Szvsz nem feltétlenül okoz a shared mode problémát, ergo nem értem, mi a probléma? -
martonx
veterán
válasz
wowpegazus #2544 üzenetére
Én a mai világban ilyet kizárólag online készítenék, azaz webes alkalmazásként. Klsszikus vastag kliensként nem látom sok értelmét.
-
martonx
veterán
válasz
Bobrooney #2482 üzenetére
Több lehetőséget is látok, gondolom ezeket lenne érdemes megnézned makró rögzítővel:
1. Adatok fülön kiválasztod a Remove Duplicates (bocs, nincs magyar excelem) opciót.
2. Adatok fülön kiválasztod az Advanced filter-t. Ennél meg tudod adni, hogy csak a unique elemeket másolja / jelenítse meg. Bár nálam ez a mini példámban nem igen csinált semmit, de elvileg ennek is mennie kellene. -
martonx
veterán
válasz
új kérdező #2439 üzenetére
Erre való mondjuk egy while ciklus, ami addig lépdel a sorokon lefelé, amíg az A oszlopban lát értéket.
sor = 1
while (cells(sor,1)<>"")
...
itt csinálok valamit
...
sor = sor + 1
end while -
martonx
veterán
válasz
G.I.JOE #2435 üzenetére
Ez így nem tűnik rossznak első ránézésre.
A "Nincs elég szabad memória", nem lehet hogy azt jelenti, hogy tényleg nincs? Ugyanazon a gépen futtatod VS-ből, mint az exe-t?
Ha valami hiba történik a kódban mivel nem using-ot használsz, és nincs semmi hibakezelés benne, simán nyitva tudnak maradni az excelek. Egy idő után akár 20-30 párhuzamosan futó exceled is lehet. -
martonx
veterán
félreértés, nem a VB-vel van gond, hanem a winforms-sal.
Pontosabban gond ezzel sincs, csak már lassan 10 éve legacy állapotban létezik. És persze lész még 10 év múlva is, de minek most elkezdeni bárkinek is beleásni magát egy legacy technológiába?Amit javaslok helyette a WPF (legújabban windows store), de amit leginkább javaslok az az ASP.NET (MVC). Ezeket mind lehet VB-vel is használni, bár időközben a VB helyett erősen a C# terjedt el, ne lepődje meg, ha a tutorialok 80%-át csak C#-ban fogod találni.
-
martonx
veterán
"Vissza akarom kapni a régi jó BASIC nyelvet "visual" nélkül. Eszméletlen miket csináltunk anno a a 8bites otthoni gépekkell..."
Hál'istennek azért a világ néha fejlődik is, gyakran csak nagy köröket fut a fejlődés, de azért egy vb.net-et összehasonlítva egy C64-es BASIC-el a fejlődés igen szembeötlő.
"A továbblépés azért is kétséges, mert pénzt nem adok értük, és nem is keresek velük. Szórakozásnak meg pöttyet drágák, és tényleg nem használnám ki."
Oké, nekem tök mindegy miben programozol, ízlések és pofonok. Viszont legalább ne írj butaságot, hogy azért nem akarsz továbblépni, mert drágák, és nem adsz értük pénzt. Mi a drága egy ingyenes wpf-en? És egy ingyenes ASP.NET-en?
Szóval használj nyugodtan winforms, simán elég lehet sok mindenre. De legalább ne beszélj butaságot. -
martonx
veterán
"egyébként engem kifejezetten zavar, hogy sok dolgot a properties résznél és magában a kódban is meg lehet adni...pontosabban az, hogy a properties résznél már beállított értékek nem derülnek ki a kódból. vagy ezzel csak én vagyok így?"
Ez szvsz előny. Jellemzően sokkal jobban szeretek varázslóval kattintgatni (pár linux-os konzol buzin kívül az emberiség 99,99%-a ugyanígy van ezzel). Ugyanakkor csomó olyan eset létezik, amikor muszáj kódból lekezelned a dinamikusan létrehozott formjaidat, ekkor nagy előny, hogy kétféle megközelítéssel is dolgozhatsz.
A kódból pedig minden kiderül, ugyanis lekérdezhető. -
-
martonx
veterán
válasz
Cpt. Flint #2393 üzenetére
Én folyamatosan maszekolok, de a vbscriptet (excel makrót) már rég kinőttem. Ezért sincs időm (meg igaziból kedvem sem) ráugrani a topikban előjövő problémákra, mert napi szinten programozok mind fő, mind mellékállásban.
-
martonx
veterán
válasz
Cpt. Flint #2382 üzenetére
Akkor már te se vagy mai gyerek
VB-t napi szinten csinálod, vagy csak hobbi?
Én hál' istennek már csak hobbiból (ahogy ez sajnos az itteni segítségeim színvonalán kezd is látszódni), bár lehet be fog futni egy maszek excel makrós meló, és megint visszakényszerülök excel makrózni. -
martonx
veterán
válasz
Cpt. Flint #2377 üzenetére
jaja, mondtam én, hogy a pszeudo kódomon még lehet mit tökéletesíteni
-
martonx
veterán
válasz
Fire_Vire #2373 üzenetére
Nem biztos, hogy ez a legjobb módszer, de például vizsgáld le külön küllön az összes feltételre a cuccot.
Ha feltétel1 nem létezik vagy a sor megfelel feltétel1-nek, akkor siker1 igaz
Ha feltétel2 nem létezik vagy a sor megfelel feltétel2-nek, akkor siker2 igaz
...
Ha feltétel6 nem létezik vagy a sor megfelel feltétel6-nek, akkor siker6 igazVégül egy sor akkor lesz jó, ha siker1, siker2 .... siker6 mind igaz
-
martonx
veterán
válasz
Cpt. Flint #2367 üzenetére
Egyrészt igazad van, valóban nem volt jó az ötletem.
Másrészt tényleg a te kedvedért nyitottam meg az excelt. -
martonx
veterán
válasz
Cpt. Flint #2365 üzenetére
Figyi, tökre örülök neki, hogy hónapok óta nem kellett excel makróznom (és ha minden igaz ez még sok évig így is marad
), de a kedvedért indítottam egy excelt. Pontos megoldást elvből nem vagyok hajlandó adni, az elv a lényeg. Aki értelmes annak ez úgyis elég, aki nem annak meg úgyis mindegy, hogy fél percet foglalkozok-e vele, vagy éveket.
Szóval: Worksheet_Activate esemény van, sőt van Deactivate is, vedd úgy hogy ezeket akartam az open - close helyett írni.
-
martonx
veterán
válasz
Cpt. Flint #2362 üzenetére
Bocs, igazad van, worksheet-et akartam írni.
-
martonx
veterán
Pedig szerintem a programod megérett arra, hogy ne egy file-ban legyen. Sok út áll előtted, néhány a teljesség igénye nélkül, megoldási komplexitás szerint növekvő sorrendben:
1. adat részét másik excelbe viszed át
2. adat részét adatbázisba viszed át (ez lehet bármilyen adatbázis, akár csak egy sima access-es kis lokális db)
3. a programot fogod és kompletten átírod valamilyen vastag klienses megoldásra.
4. átírod webalkalmazásra, ugyebár böngésző garantáltan minden gépen van, még mobilon és tableten is. Én ezt a megoldást preferálom, bár én webfejlesztő vagyok, szóval részrehajlok. Ez a legmacerásabb, legnagyobb váltás, ugyanakkor ez a legelőremutatóbb is. -
martonx
veterán
ezt már számtalanszor kitárgyaltuk, de az excel annyira nem erre való. A jogosultság kezelés nem az erőssége.
Egyébként kerülő megoldásokat el tudok képzelni. Az excel megnyitásakor mindenképpen kérsz egy felhasználónév, jelszó párost. Ehhez te csinálnád a formot, meg te tárolnád az excelen belül ezeket az adatokat is. Aztán annak függvényében, hogy ki mihez férhet hozzá, kódból tudsz szabályozni mindent.
De ez azért nem kis macera lesz.
-
martonx
veterán
Hehe, ez az a hozzáállás, amivel soha nem fogok tudni azonosulni. Le is léptem a cégtől, miután sorra leszavazták a jobbító ötleteimet.
A sors iróniája, hogy a lelépésemmel észbe kapott a vezetőség, és per pillanat nagyban képzik át a maradék pár programozójukat ASP.NET MVC-re.
Ez a tipikus halál primitív, káderi menedzsment hozzáállás, hogy az excel a legolcsóbb, az úgyis ott van mindenkinek a gépén. Valójában ez baromság. A böngésző az, ami ott van mindenkinek a gépén.
Az excel tökéletes, amikor pivotozni kell, meg OLAP kockákat forgatni, többféle adatforrásból összedolgozni az adatokat.
Minden másra merő pénzkidobás, kezdve a fejlesztők munkaidő ráfordításának többszörösével, folytatva az üzemeltetők bérével, amivel a gépeket karbantartják, office licenszeket vesznek, stb... -
martonx
veterán
"Hiszen rájön, hogy mi minden lehet excel-ben csinálni." - esetünkben éppen a lényegre nem jön rá, miszerint az excel egy adatvizualizációs, adatbányász céleszköz. Nem pedig sakk program írásához kereteszköz. Persze láttam már lövöldözős játékot is excelben megvalósítva, az emberi butaság (és az excel tudásának határa) végtelen. Sőt írhatod a szakdolgozatod is excelben, attól az még akkor sem lesz szövegszerkesztő program.
Szvsz az excel oktatásnak éppen ezért az adatokról, adat lekérésről (különböző adatforrásokhoz programozottan kapcsolódás), adat megjelenítésről, formokról illetve ezek programozásáról kellene, hogy szóljon, nem pedig sakk, meg akasztófa játékok excelben programoztatásáról.
Dolgoztam olyan cégnél, ahol ki is volt mondva, hogy mindent excelben kell megvalósítani. A CRM rendszertől, a projektvezető toolokon át. Volt exceles pdf generátorunk, exceles vonalkód nyomtató porgramunk, és még ki tudja mi minden. Ami kerek volt azt kézben vittük, ami négyszögletes, azt meg gurítottuk. El is jöttem onnan 4 év után, és nagyon óvok mindenkit attól, hogy ugyanabba a hibába essen, mint anno nálunk annál a cégnél.
Nem véletlenül szajkózom itt a topikban, hogy az excelt arra használjuk, amire való, mert minden más esetben csak a fölösleges körök futása, és a rossz programozói gyakorlatok beidegződése fog történni.
-
martonx
veterán
válasz
luzer0901 #2307 üzenetére
Nézd, excelről beszélünk. Igaziból fingom sincs, hogy lehet-e egy cellába képet beszúrni. Ha lehet, akkor nyert ügyed van, ha nem lehet, akkor marad a szöveg. Én látatlanban arra tippelek, hogy nem lehet a cella tartalma kép, de lehet tévedek. Néha engem is meglep, hogy felhasználói szinten is mennyi mindent tud az excel.
-
martonx
veterán
válasz
luzer0901 #2301 üzenetére
pl. csikó léphet:
2 cellét horizontálisan, és 1 cellát vertikálisan. Vagy 2 cellát vertikálisan és 1 cellát horizontálisan.
Az excelnek munkalapoknak van onchange vagy valami ilyesmi eseménye. Ezzel megnézed, hogy honnan indult, hova jutott és megnézed, hogy ez szabályos-e. Ha nem szabályos, akkor kiadsz egy undo parancsot, ha szabályos volt, akkor nem csinálsz semmit. -
martonx
veterán
válasz
luzer0901 #2299 üzenetére
Na, így már azért más. Akkor nem kell mesterséges intelligencia, és tényleg excelben kell megoldani (az eszemet eldobom).
Igaziból ha jól értem egyedül az kell, hogy a sakk szabályait ismerje a program, és szóljon ha valaki szabálytalanul lépett. Ez így már azért mindjárt más.
Mennyivel egyszerűbb lett volna, ha ezzel kezded. Fórumtársak, van-e kedve valakinek karácsonykor leírni azt a pár sor kódot, amivel el tudna indulni luzer0901? Mondjuk egy csikó lépésének ellenőrzését, mert még talán az a legbonyolultabb.
Illetve luzer901 tőled kérdezem, hogy mi az, ami nem megy ezen? -
martonx
veterán
válasz
luzer0901 #2297 üzenetére
Ez esetben mi lenne ha írnál nekünk konkrétumokat? Konkrétan mit értesz vba-s megvalósítás alatt? Excelben, wordben, powerpointban, netán outlook-ban kell-e sakk programot írni? Vajon te is érzed-e, hogy mennyire vicces már maga a feltételezés is? Ergo én azt gyanítom, hogy a feladatot sem sikerült megértened. Ha esetleg a konkrét feladat szöveget bemásolnád ide, nem pedig csak a saját interpretációdat, az sokat segítene.
De hogy ne keltsek hiú reményeket, én biztosan nem fogok neked sakk programot készíteni. Annyit szívesen segítek, hogy értelmezem helyetted a feladatodat, és elindítalak a helyes irányba. -
martonx
veterán
Ha számlát is akarsz adni, akkor egyéni vállalkozóit érdemes kiváltani. Ha jól rémlik ez ingyenes, csak némi okmányirodai szopás (űrlap, sorban állás stb...) kell hozzá. Meg majd venned kell egy számlatömböt, ha már kaptál adószámot, mint egyéni vállalkozó.
Plusz ettől kezdve valamivel macerásabb lesz az éves adóbevallásod.
Ha netán nem akarod a gatyádat is leadózni, akkor meg el kell kezdeni költség számlákat gyűjteni, könyvelőt fogadni.
Innen csókoltatom a vállalkozásbarát magyar államot. -
martonx
veterán
Elvileg a szabadalmi hivatalnál bármit be lehet jegyeztetni. Én már csináltam olyan programot ami védelem alatt van, de nem én intéztem a bejegyzését.
De ezzel nem sokra mész, ha feltörik, és orrba-szájba ingyen használják. A legjobb, ha minél jobban levéded a kódot. Esetedben ez kimerül a vba projekt jelszavazásában. -
martonx
veterán
Miért ne? Kivéve, ha olyan 3rd party open source komponenseket használtál benne, amik GPL liszenszűek.
De általában még ekkor is eladhatod a saját programod, csak éppen előtte meg kell venned a kérdéses 3rd party komponenseket.
A licenszelés mindig kemény ügy, pláne hazánkban, ahol az utolsó, ami az emberek eszébe jut, hogy programot vegyen, pénzért. -
martonx
veterán
Nem különösebben, én leginkább .Net vonalon, ott is ASP.NET-ben mozgok. Egyszer egy Android-os alkalmazás backend-jét fejlesztettem Java-ban, nem ragadott meg.
Tényleg a Referenciáknál az Excel mutatja, hogy melyik hiányzik, látszik, hogy (hál istennek) jópár hónapja már nem kell excel vba-znom. Fontos tudnod, hogy ha kizárólag Excel 2003-ban fejlesztesz, akkor az abban felhasznált referenciák egytől egyig működni fognak az újabb exceleken. Ez visszafelé viszont nem igaz!!!
-
martonx
veterán
Hehehe, hát ezért is halnak ki lassan a vastag kliensek. A gondot biztosan az okozza, hogy valamilyen dll hiányzik.
Hogy ez nálatok valamilyen egyedi 3rd party dll volt-e, ami minden gépen ott csücsült, vagy az Office Professional valamilyen saját dll-je, ami az Office Basic-ben nincs csak meg, azt így messziről persze, hogy nem fogjuk tudni neked megmondani.
A hibát dobó gépen pont ugyanúgy tudsz debug-olni, és akkor remélhetőleg pontosabban látszik, hogy hol kapod ezt a hibát. -
martonx
veterán
válasz
pirit28 #2228 üzenetére
Ez tényleg annyira triviális volt, hogy rászántam azt a 30 másodpercet.
Nem a konkrét feladat megoldása, de példának tökéletes:
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
valami = Target.Value
If Target.Column = 3 Then
Application.EnableEvents = False
Cells(Target.Row, Target.Column + 5) = Target
Application.EnableEvents = True
End If
End Sub -
martonx
veterán
válasz
hiperFizikus #2200 üzenetére
Köszi, hogy elmondtad szerinted mi is a VBScript
Annál sokkal több, mint amire gondolsz.
Nézz utána az objektum orientált programozásnak, program nyelvtől függetlenül mindig ugyanazok az elvei. Hidd el gugli, vagy egy könyvtár a barátod.
-
martonx
veterán
WPF-et, pláne VB.NET-tel ezer éve használatam legutóbb, és csak ez miatt nem fogom fel eleveníteni az emlékeimet. Annyi rémlik, hogy elég triviális volt drag'n'drop-pal rádobni a wpf layout-ra a táblát, és ebből a VS eleve legenerálta a grid-et, meg a háttérben szükséges komponenseket (dataadapter, meg ilyesmik).
Utána pedig ezekkel a háttér komponensekkel kell játszani. -
martonx
veterán
válasz
bende126 #2190 üzenetére
Szerintem kezdjük azzal, hogy pontosan mi is az a részfeladat amit ezzel a kóddal meg szeretnél oldani?
Egyébként a kód első ránézésre nagyon túlbonyolítottnak tűnik.Pl ez helyett:
Do While e1 < e2
s2 = s1 + 1
e2 = Cells(s2, 1).Value
e1 = Cells(s1, 1).Valueelég lenne ez:
Do While Cells(s1, 1).Value < Cells(s2, 1).Value
s2 = s1 + 1Ráadásul s1-et nem is növeled, szóval az s1 is felesleges, ha az mindig fix 1
"- Lehet úgy változót deklarálni, hogy a do while utasítás alatt található? Vagy már korábban meg kéne tennem?"
Persze, miért ne lehetne -
martonx
veterán
válasz
kanyolajos #2184 üzenetére
Csak értékek kimásolása:
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=FalseA jelszó beírást meg tudod oldani sendkey paranccsal.
Új hozzászólás Aktív témák
Hirdetés
- Hp Elitebook 840 G8 CSAK 1DB POFÁTLAN ÁRON ÚJ KIJELZŐ!!!!
- Apple iPhone 16 Pro 1TB Fekete Titán Színben Bontatlan 12 Hó Garanciával
- Eladó konfig! Ryzen 7 7800X3D 2TB SSD 64GB DDR5 RX9070XT 16GB!
- Új, makulátlan állapotú Samsung Galaxy Buds FE, fehér, fél év garancia
- Új, makulátlan állapotú Samsung Galaxy Watch7 44mm ezüst, 2 év garancia
Állásajánlatok
Cég: CAMERA-PRO Hungary Kft
Város: Budapest
Cég: Promenade Publishing House Kft.
Város: Budapest