Aktív témák
-
Jester01
veterán
Ez elég egyszerû feladat, bár a gépnek is el fog tartani mire megnyitogatja a 12000 fáljt...
Sajna most egyetlen elérhetõ gépen sincs excel, szóval nem tudom megcsinálni neked.
De ilyesmi lenne:
Dim fso, f, f1, i
Set fso = CreateObject(''Scripting.FileSystemObject'')
Set f = fso.GetFolder(folderspec)
Set fc = f.Files
i = 0
For Each f1 in fc
i = i + 1
Workbooks.Open f1.Name
ThisWorkbook.ActiveSheet.Cells(0, i) = Cells(x, y)
ActiveWorkbook.Close
Next
Az x,y a fix cella ahonnan olvasni akarsz. Ez így vszg nem mûködik, de kiindulási alapnak sztm jó. -
picsu
csendes tag
Szia KMan!
Na ha az én kérdésemre is tudod a választ tényleg kalapot emelek!!
A problémám a következő!
Van kb. 12000db excel táblám. A táblákból 7 adat kellene. De ez minden táblában ugyanott van. Egy teljesen új táblába szeretném ezt a 7 értéket úgy, hogy mindig egy új sorba írja bele az importált adatot.
Minden xls állományt nem nyithatok meg ugye mert akkor megöregszem mire végzek.
Szóval egy könyvtárban levő xls állományokból kellene nekem mindig ugyanabban a cellában levő adat.
Várom válaszod.
Picsu -
lapa
veterán
végülis baj nem lehet belőle...
1.) A második legnagyobb
Töltse fel az A1: B15 tartományt véletlenszámokkal
( 0 <= r <= 100 ). Készítsen makrót amely megkeresi és megadja
a második legnagyobb szám értékét. A keresés eredményét a
D1-es cellában piros színnel jelenítse meg!
itt a tábla [link]. ha alt+f11-et nyomsz kijönnek az okosabbnál okosabb makrók. ha alaposan végigolvasod a kommenteket hasznos lehet. nekem kicsit elfáradt már a végére az excel, dobott ilyeneket, hogy [link] de ez van. a másikat majd megnézem valamikor, de inkább dobd be ide mert nemtom mennyi időm lesz.
[Szerkesztve]
[Szerkesztve] -
KMan
őstag
Ck. !
Nekem most nagyon jól jönne az a ppt makró+VBA excelhez, mail az adataimnál, köszi szépen
[Szerkesztve] -
róland
veterán
Életemben eddig egyszer vettem hasznát a makrónak. Igaz azt wordben kellett rögzítenem és használnom. Adott volt, hogy bizonyos leveleket fejléccel kellett ellátni, de meguntam, hogy mindig végre kell hajtani ugyanazokat a lépéseket. Így kipróbáltam a word makrórögzítőjét és megcsináltam egy olyan makrót, hogy azt elindítva beszúrta a dokumentum első oldalára a céges fejlécet, a második oldaltól kezdve pedig megszámozta az oldalakat a fejlécben.
Amúgy a makrókat pont ilyen dolgokra találták ki: Sokszor ismétlődő feladatok automatizálására. -
Ck.
addikt
Ha vkinek kell Excellel kapcsolatban makrókhoz, vagy bármihez segédlet, esetleg Wordhoz, vagy egyéb Office-hoz, akkor tudok adni prezentációkat...
-
lapa
veterán
én a helyedben valamilyen konkrét problémával és az excel meg a vba súgóval kezdeném. szerintem könyvből nehezebb a gyakorlatot megszerezni. persze elméleti háttérnek jól jön, de ha nem professzionálisan akarsz valamit kezdeni a tudással, szerintem a súgó meg az internet elég. én még nem olvastam könyvet, de érzésem szerint egész jól elboldogulok.
azért is jó a súgó, mert az adott feladat kapcsán csomó olyan találatod is lesz, amit ugyan éppen nem tudsz használni de megjegyzed, hogy létezik ilyen. egy könyvet végigolvasva még mintapéldákkal se vésődik be annyira. szerintem. -
KMan
őstag
#82
...help pls... -
lapa
veterán
szóval nem biztos, hogy makróznék...
a month(dátum) megadja a hónapot. azzal még olyat is lehet játszani, hogy megnézed ugyanabban a hónapban van-e adott hónap 31-e (tehát van-e adott hónapnak 31. napja).
esetleg a datevalue(dátum) lehet hasznos de nem igazán tudom elképzeni mit szeretnél látni a végén. teljesen dinamikus nem is lehet ha jól értem, annak meg nem sok értelmét látom, hogy minden évben vmi határértékkel töltögeted fel a cellákat.
vagyesetleg olyat tudok elképzelni, hogy egy sorban definiálod a 12 hónap első napjait, aztán =ha(datevalue(kezdődátum)>datevalue(fenti dátum);min(datevalue(fentitől jobbra dátum);datevalue(végső dátum);0)
ha jól sejtem ez a kezdő naptól végső napig be kéne írogassa a dolgokat a sorba, tehát pl. 2005.01.15-2005.03.25 --> 15;29;25;0;0;0...
nemtom érhető volt-e a gondolatmenet. így jövő év elején csak a fenti paraméter dátumokat kell beírni, pláne csak az elsőt, a többi számolható.
ha meg makróznál, akkor keress rá a datepart funkcióra... -
attis73
csendes tag
Sziasztok!
Az elmúlt egy évben folyamatosan csináltam egy munkabaleseti nyílvántartó programot, és most egy olyan problémához értem amit makró írásával próbálnám megoldani, de eddig beletört a ''bicskám''!
Feladat: Adott betegállomány kezdete és vége, pl. 2006.01.23 és 2006-04.14. Ki kell számolnia a makrónak, hogy a két dátum közötti naptári napokból mennyi esik adott hónapokra. Tehát mennyi esik januárra, februárra,márciusra,áprilisra. Eddig próbáltam If,then feltételekkel de de belezavarodtam a feltételekbe, meg mindig volt egy feltétel ami nem működött, meg így írtózatos mennyiségű sorból áll a program.
Ha valaki tud frappáns egyszerű megoldást azt kérem segítsen! Ha lehet az e-mail címemre is küldjön választ!
Előre is köszi!
. -
KMan
őstag
Sziasztok!
Excel programozás – VBA – Makró könyvet keresek teljesen kezdő szintről, van valakinek tapasztalata, hogy mely könyvek jók ebből a témából?
Köszi szépen. -
Surda
tag
Helló!
A következő gondom van Excel makróval (VB6.0). Írtam egy programot, de máshol nem fut. Végigfuttattam lépésenként a userrel, és ezt a hibát írja ki:
Compile error:
Can't find project or library
Ez egy Str() függvénynél jön elő. Ezt nagyon nem értem. Nem találja azt a komponens-könyvtárat,
amiben az Str() van? Én azt hittem, hogy ez alap, a Visual Basic gyári függvénye.
A Referenciák között kell valamit hozzáadni esetleg?
Nálam ez van:
Windows 2000 SP4
Office 2000 SP3
A kollégám gépén ugyanezek, és ott fut is hibátlanul a progi. Ahol nem fut, ott XP van, és Office 2003. -
gErYoN
tag
jaja, a képen amit küldtél rosszul adtad meg a szénhidrátot, mert annak >=2,25-nél
ezért jött ki nekem más, de így mostmár jó -
gErYoN
tag
nekem mondjuk nem pont az jött ki mint neked, nekem 1375 euró jött ki eredménynek
-
gErYoN
tag
sikerült rájöttem, hogy mit rontottam el, nagyon alap dolog volt
köszi a segítséget -
gErYoN
tag
Elküldenéd a te megoldásodat?
-
gErYoN
tag
na jó adok 2 linket sorry amiért ilyen béna vagyok, de nem tudtam feltölteni,
Bővebben: link
Bővebben: link -
gErYoN
tag
ez nem jött össze,
-
lapa
veterán
nézd meg a solver ablakot a képen, abban benne van egy csomó dolog. a b2 és b3 alapból 0 volt (azt írtam be), aztán mondtam solvernek hogy azzal a kettővel manipulálhat, miközben az összköccség minimuma a cél. ezek mellett megadtam még a feladatban szereplő feltételeket, nehogy gyomorbajos disznajokat gyártsunk.
-
gErYoN
tag
-
lapa
veterán
ehun-e. Bővebben: link
nemtom hirtelen jó-e, de a lényeg: megcsinálod a fejléceket ahogy a tündérek mondják, utána meg a ''összes'' cellákba kiszorozgatod a mennyiség cellát az adott dolog cellájával (lássad még szerkesztőléc).
ha ezzel megvagy, akkor solver, abban meg a látottakon kívül options --> assume non-negative
mondom nem biztos, hogy jó kicsit már sietős volt a vége. -
gErYoN
tag
Sziasztok,
Tudom nem a makróhoz tartozik de nem akartam új topicot nyitni ezért.
Bővebben: link címen található a tavalyi (asszem) középiskolai megyei alkalmazói verseny országos frodulójának feladatsora.
Van ennek az első feladata.
Az excel solveréhez nem igazán értek. Valaki tudna segíteni ennek megoldásában vagy egy kis segítséget nyújtani egyáltalán az excel solveréről?
üdv -
rlph
tag
Sziasztok!
Lenne két nagy problémám! De ezek nem annyira a makrókhoz tartoznak, de
segítsetek!
1: Le lehet e védeni jelszóval a lapfüleket? És ha igen hogyan?
2: Ha le van védve jelszóval egy excel fájl ,hogy lehet a kód nélkül
megnyitni? Már próbálkoztam pár kódgenerálóval ,de a nagy baj az volt
velük, hogy csak 4 betű volt a max. keresés.: -
lapa
veterán
szóval küzdöttem egy kört a tömbökkel és úgy gondolom hasznos tapasztalatokat gyűjtőttem, amiket a következőkben foglalnék össze röviden, hátha másnak is segít:
a tömb (array) lehet számosos, szöveges vagy variánsos. a számosos meg a szöveges az egydimenziós. használatuk:
deklarálás:dim szamtomb(<max. hossz>) as long
dim szovegtomb(<max. hossz>) as string
a 12. mező feltöjtése:szamtomb(12) = 456
szovegtomb(12) = ''valami''
a 12. mező lekérdezése:msgbox szamtomb(12)
msgbox szovegtomb(12)
a teljes tömb kiürítése:erase szamtomb
erase szovegtomb
még ezeknél is érdekesebb a variánsos tömb, ami 2 dimenziós.
deklarálás:dim vartomb as variant
a tömb feltöjtése a munkalap első két sorával:vartomb = range(cells(1,1),cells(2,256))
a 2. sor 3. oszlopának lekérdezése:msgbox vartomb(2,3)
a teljes tömb kiürítése:vartomb=''''
ahogy én értettem célszerű ezeket üríteni, mert az új értékek csak a felülírt mezőket változtatják. ja, és variánsos tömbnél mindig kell a (sor,oszlop), még akkor is ha csak egy dimenziója van. és aki eddig elolvasta az nyert, mert megtudja a miértet: kurva gyors. nagyjából egy nagyságrenddel gyorsabb, mintha cellákra hivatkoznánk a makróból. és hogy ez hihető legyen itt egy mintatábla: Bővebben:� link
remélem hasznos. -
TwisN
csendes tag
Sikerült megoldani !!!
-
TwisN
csendes tag
Sziasztok,
lenne egy problémám macro ügyben. Nyomtatást kellene szabályozni. A user megadná a kívánt mennyiséget egy ablakban, vagy cellában és a macro végrehajtaná az adott dokumentum nyomtatását.
Kösz segítséget -
jeges
senior tag
ha string array-ed van, nem jó összehasonlításkor az eval/val függvényeket használni?
egyébként tömbkezelés téma 4-5 hsz-szel följebb...
szerk: egész pontosan #51-ben volt szó róla
(vagy nagyon félreértettelek volna?)
szerk2: hü vazze...ez a hsz mán vagy 2 hetesazóta bizonyára megoldódott a probléma
[Szerkesztve] -
lapa
veterán
kérem segítsen ki valaki egy varinat array csinálós és törlős sample kóddal, mert én elvesztettem a legutóbbi linkemet a témában...
vagy nemtom ez-e a jó megoldás erre: tömbbe kéne elraknom egy-egy sor adatait, hogy gyorsabb legyen. elkezdtem string array-val de utána az egyes elemeken kisebb-nagyobb hasonlítást kéne végeznem az meg akkor alfanumerikusan hasonlít. help please.
a variant array-ba már a rangét (ez lenne a sor) se tudom berakni mert hibát kapok brühü.
köszi -
Frosty84
csendes tag
Szevasztok!
Azt kéne csinálnom az excel makróban hogy *.dbl kiterjesztésü fájlokat megnyitva excel-ben meg kell formázni. Ez müxik is csak át kell nevezni egy excel munkfüzetben lévő cellában megadott nevekre. (pl: B1101 fel vannak sorolva a nevek és ezzel a névvel kellene menteni a fájlokat. A1:A101 az eredeti *.dbl nevek vannak. Sztem mint egy hivatkozás). A program elején megnyitom a fájlokat majd az excel formázza és végül mentené. A mentésnél nem tudom mit írjak be hogy a cellákra hívatkozva mentsen.
Előre is thx a segítséget! CSáka!
[Szerkesztve] -
gitarguru
csendes tag
Sziasztok, kéne némi segítség makró ügyben.
Valami olyasmi szeretnék csinálni, hogy van 2 excel fálj, sok sorral (kb. 10000), az egyik egy adott rendszerben lévő adatokat tárol a másik pedig a jó adatokat. Ezt a kettőt kéne összehasonlítani, hogy stimmelnek-e az értékek.
Nem tudom hogy induljak neki.
Ha valaki tud segíteni azt megköszönném.
Üdv! -
lapa
veterán
ofkorsz msgbox csak példa volt. köszi a dolgokat majd kipróbálom (muszály lesz, mert már sír a szája hogy too long). a tömbös témát közben kiokosítottam én is, de majd kiderül hogyan tudom összehozni a dolgot. valszeg csak tömböt fogok használni mert akkor a function-re már nem lesz különösebben szükség.
-
jeges
senior tag
-
jeges
senior tag
''no csak összehozok egy értelmes kérdést. szeretnék egy kódot sokszor futtani, melynek egy változót kéne átadnom, ami alapján az eredményt adná''
nos, a fenti definíció a ''függvény'' (function) definíciója. a bemeneti változó(k)ból kiszámolja a kimeneti változó(ka)t. a sub épp abban különbözik, hogy nem szükségesek változók, ''csak'' csinál valamit. (legalábbi lényegében, pongyolán fogalmazva)
pl. a #48:
Sub masik(x, y As Long)
MsgBox ''x: '' & x
y = x + 1
End Sub
helyett:
function masik(x)
masik=x+1
end function
a message box-ot meg masik(x) értékétől függően átpakolod az egyik sub-ba
pl.
sub egyik
...
if masik(3)=0 then msgbox ''x: '' & x
...
end sub
[Szerkesztve] -
jeges
senior tag
most látom csak a témát.
alapvetően az ilyen konverterhez én nem sub-ot, hanem function-t használtam. egyszerű, viszonylag gyors, csak a hibakezelést kell jól megoldani...
a tömbkezelési kérdéshez: nem egyszerűbb pl. cellaértékekben tárolni a bemeneti számsort? excelben ez szokott lenni a ''sztenderd''. pl:
for i=1 to 10
cells(2, i)=cells(1, i)/2
next
ha tömböt akarsz definiálni:
dim tomb(10)
for i=1 to 10
tomb(i)=cells(1, i)
cells(2, i)=tomb(i)/2
next
de excelben általában nehézkesebb a tömbök használata, hiszen ezért vannak a cellák, ráadásul a tömb hossza kötött (legalábbis a definiálás után), a cellák száma meg ''csak'' maximált. -
lapa
veterán
úgy látszik a munka kíváncsivá tesz, megint kérdezek:
azt szeretném, hogy egy ciklus mondjuk a következő változóértékekkel fusson le: 1, 3, 2
olyat szeretnék, mint a for x to y, csak nem növekedve hanem az általam taxatíve megadott lista értékei szerint.
elméletileg vmi for ... each ... next kéne csak nemtom hogyan kellene tömböt(?) csinálni. tud vki egy mintát írni a tömb feltöltésére és ciklusban való alkalmazásra? köszönöm. -
lapa
veterán
ilyet is találtam hozzá de még mindig nemtom hogyan kapható vissza vagy visszakapható-e egyáltalán. Bővebben: link
-
lapa
veterán
a meghívás működik és le is fut(na), csak az a baj, hogy az előtte feltöltött változó a meghívott eljárásban üres, mert harmincezer mittudomén.
elméletileg valahogy úgy kéne, hogy a ''run masik()'' sor végére beteszem az x-et, és a masik subban meg ki lehetne olvasni az értékét, ha valahogy hivatkozok rá. csak nemtom hogyan kő. -
Gh0sT
addikt
Nézegettem a súgót. Biztos, hogy ez megoldható?
Nem tudok nagyon angolul, és a makrókhoz sem értek, de nézd csak ezt meg:
''procedure
A named sequence of statements executed as a unit. For example, Function, Property, and Sub are types of procedures. A procedure name is always defined at module level. All executable code must be contained in a procedure. Procedures can't be nested within other procedures.''
Hiányos tudásommal én arra következtetek, hogy egymásból nem futtathatók... Bár ez meg annyira abszurd, hogy szerintem hülyeséget mondtam... -
lapa
veterán
no csak összehozok egy értelmes kérdést. szeretnék egy kódot sokszor futtani, melynek egy változót kéne átadnom, ami alapján az eredményt adná:
sub egyik()
x = 3
run masik
msgbox y
end sub
-------------------
sub masik()
y = x + 1
end sub
szóval a fenti nem működik rendesen. aszongya a súgó, hogy csak pozíció alapján tudok a run parancsnak adatokat adni. ki tudna valaki segíteni, hogy hogyan kell ezt pontosan? köszi
[Szerkesztve] -
lapa
veterán
sziasztok, van egy remélhetőleg rövid kérdésem. egy szám cella karakterláncában (pl. 123,45600 kellene kicserélni a vesszőt pontra, hogy 123.45600 legyen belőle (a változóban).
odáig megvan, hogy a cellán tudok replace-et csinálni, de mivel nem akarom babrálni az eredetit, egy külön temp cellába kéne egymás után a sokezer cella tartalmát kopiznom, majd replacelnem majd a változóba írnom. ezt ha lehet elkerülném. van a vb-ben olyan funkció, amelyik a változóban képes vesszőt pontra cserélni?
nemtom mennyire érthető a helyzet: egy konverterről van szó, amely a számokat ilyen formában kéne szállítsa: 0000123.45600 nekem meg ugye a cellákban ''igazi'' számok vannak. ha megadom cellaformázással a tizedeseket már előbbre vagyok, mert a cells(x,y).text hála istennek azt adja vissza, amit látok, nem pedig a tényleges értéket (ugye a cells(x,y)value egész számoknál levágná a végződő nullákat). a vezető nullák sem jelentenek gondot. szóval már csak a vessző a probléma, de ezt eddig csak úgy tudtam áthidalni, ha a windows területi beállításokban állítottam át a tizedesjelölőt pontra. ez pedig nem alkalmazható a gyakorlatban...
előre is hálás. -
rember
csendes tag
Sziasztok!
Láma vagyok a makrózáshoz, de a következő feladatot meg kellene oldanom:
Egy honlapon található egy lista. A lista elemein hivatkozások. Ezeket a hivatkozásokat kiszedtem a listából és az ezekben(több mint 500) lévő adatokat kelle egy táblázatba összehoznom.A lényeg van több mint 500 htm fileom és az ezekben lévő adatokat kell egy excel táblában viszontlátnom.
Tud nekem valaki ebben segíteni?http://prohardver.hu/pics/s/fl.gif
Előre is köszi:http://prohardver.hu/pics/s/n1.gif -
Apollo17hu
őstag
Ezt kell a GENERÁLÓ-ba írni (az aposztrófokat írd át idézőjellé!):
mod: bocs, látom, tegnapra kellett volnakalappal, ha még nem zh.-ztál!
Private Sub CommandButton1_Click()
eltolas = InputBox(''Add meg az eltolás értékét!'')
If eltolas = Empty Then
eltolas = 0
End If
For i = 1 To 10
For j = 1 To 10
Cells(i, j) = Int(Rnd * 100) / 100 + eltolas
Next
Next
End Sub
[Szerkesztve] -
jeges
senior tag
nem beleszólásképpen, de legalább megpróbálhatnád magad...
segítségképpen:
generálás:
1. eltolás bekérése (erre megvannak a megfelelő függvények, pl. inputbox)
2. for next ciklusban véletlenszám-generálás és kiírás (rnd és cells() függvénnyel a legegyszerűbb talán, használni kell az 1. pont inputbox értékét)
min/max:
ezt sztem le sem kell írni, csak arra vigyázz, h első lépésként törölni kell a megfelelő cellákat cells(x, y)='''' vagy hasonló eljárással -
bosi84
tag
Sziasztok megint, remélem már nem fogok többet zavarni!
Köszönöm a korábbi makrot!!!! Segített
Ha vki megcsinálná a mostanit ma délutánra, nagyön sokat segítene tényleg!!!
Helyezzünk el a Munka1 munkalapon három parancsgombot, GENERÁLÓ, MIN és MAX felirattal. Írjunk makrót, amely a GENERÁLÓ vezérlő megnyomásakor az A1:J10 tartományba valós két tized pontosságú véletlen számokat generál a 0-1 tartományhoz képest egy InputBox-ban bekért eltolási értékkel. (Ha a Cancel gombot nyomjuk meg, az eltolás 0 legyen.) A MIN parancsgomb megnyomásakor jelenjen meg az A12 cellában a minimum felirat és a B12 cellában a legkisebb szám, a MAX parancsgomb megnyomásakor pedig az A13 cellában a maximum felirat és a B13 cellában a legnagyobb szám. Indulásakor ürítse ki a munkalapot.
Ismét csak a kód kéne. KÖSZÖNÖM -
update
csendes tag
válasz
Apollo17hu #34 üzenetére
Sikerült megcsinálni azokat a makró részeket!
Szóval, most lassan a game első fele lassan kész!
1-2 teszt, és jön az Események generálás!
Aztán kezdhetem az egészet előről a 2.00-val... -
Apollo17hu
őstag
Itt a jegyzet, amiből mi tanulunk:
Bővebben: link
Vannak benne elírások, pontatlanságok, de nagyon hasznos, sok példával.
Mentsd le, és olvasgasd, ebből jól meg lehet tanulni alapszinten a makróírást. -
update
csendes tag
válasz
Apollo17hu #32 üzenetére
Ahan... kipróbálom...
Ha ezeken túl vagyok küldök nektek egy változatot... ha érdekel téged, titeket...
Vannak benne Elfek meg Orkok, meg Emberek...
Tuti lesz még problémám, akkor pedig írok ide újra!
Hódító még messze van, de én jól szórakozom, amíg csinálom, ez fix!
Sőt, ez lehetne akár szabadon fejleszthető excel játék...
E-mailen vagy chaten meg lehetne beszélni a módosításokat!
Vagy lenne hozzá egy honlap... stb -
Apollo17hu
őstag
válasz
Apollo17hu #31 üzenetére
A 2. lépésre itt a gyakorlati megoldás:
Kiindulási adatok:
Az általad kiválasztott munkalapon (legyen ezentúl Munka1) beírod, h A1 -be, h 100, A2 -be, h 20.
Eljárás:
Felpakolsz egy parancsgombot a Munka1 -re.
(A parancsgomb tulajdonságai között megkeresed a Caption pontot, itt megváltoztathatod a feliratát.)
Átváltasz VB-nézetbe.
A Project menüt előhívod, és kétszer kattintasz a Munka1 -en.
A jobb oldalt felugró ablak bal felső sarkában kiválasztod a CommandButton1 -et.
Jobb felső sarkában pedig a Click -et választod.
Alattuk van maga a program. Ide az End Sub előtti sorba beírod ezt:
Cells(1, 1) = Cells(1, 1) + Cells(2, 1)
Visszaváltasz Excelbe.
Kikapcsolod a tervező módot.
Kipróbálod: ahányszor rákattintasz a parancsgombra, annyiszor növekszik 20-szal az A1 -es cella értéke. -
Apollo17hu
őstag
ehhe... Excel-ben egy Hódító-szintű játékot
mindenesetre riszpekt az ötletért...
1. ''A véletlen számok generálására szolgáló függvény az Rnd. Ez a függvény így argumentum nélkül használható és egy véletlen számot ad eredményül 0 és 1 félig zárt intervallumban, 0 lehet, 1 nem. Ennek a függvénynek a transzformálásával lehet megadni, hogy milyen számokat akarunk generálni.''
''Ahhoz, hogy az Rnd függvény valóban véletlen számokat generáljon, a függvény használata előtt be kell írnunk a Randomize kulcsszót a programunkba.''
2. Ezt úgy kell csinálni, hogy miután felpakoltad a parancsgombot és VB-nézetben leprogramoztad az eseményt, amit a gombnyomás váltana ki, még külön ki kéne jelölnöd VB-nézetben azt a munkalapot, amin a parancsgomb van, és ezen kiválasztani a parancsgombot (pl. CommandButton1), és ennek a tulajdonságai között kéne mondjuk a Click -et megadni az utasítás végrehajtására.
Nehéz fába vágtad a fejszéd... -
update
csendes tag
Oksa...
1. A játék elején szükségem lenne 3 véletlenszámra, ami nem változik újraszámolásnál... mivel az excel minden Enternél újra generálná ezeket a számokat... és az nekem nem jó! Tehát gombhoz kell rendelni!
Vezérlő gombra gondoltam, de a sima űrlapgomb is jó, lényeg (szerintem), hogy makró kell hozzá, mert azt csak utasításra futtatja le!
Amúgy a gomb neve: ''Új Játék''
2. A másik nagyon nagyon kulcsfontásságú dolog...
Egy adott cella értékéhez adjunk hozzá egy másik cella értékét úgy, a képlet végeredménye az első cellába kerüljön bele...
Így A1=100 A2=20 megnyomok egy gombot A1=120...
A következő gombnyomásra pedig már:
A1=120 A2=5... következőben A1=125...
Valahogyan így akarom megoldani a körváltást!
Az excel körhivatkozás miatt nem tudja megoldani...
OLyanra gondoltam, hogy egy közbeeső memória szerű dolgot kellene makróval beiktatni, vagy valami változóval biztos meg lehetne oldani!
Ez a két legfontosabb dolog!
Ha valaki tud plz HELP!!! -
update
csendes tag
Sziasztok!
Engem Excelben készített stratégiai játékok érdekelnének!
Illetve az, hogy egy ilyet hogyan lehetne csinálni! Lehetséges-e egyáltalán!
Már belefogtam egy ilyenbe, de VBA és makrókból kicsit gyengus vagyok...
Szóval, ha valaki készített ilyett, az plz küldje el nekem, érdekelne pár megoldás!
Ha excelben nem kivitelezhető, akkor hol lehetne egyszerűen összerakni egy ilyen játékot hiányos programozási ismeretekkel...
Olyasmire gondolok, mint a Hódító, Lemuria stb... csak nem on-line, hanem off-line...
KÖSZI!!! -
lapa
veterán
válasz
Digiti Dotto #6 üzenetére
huh ez megizzasztott. persze a vb helpben a harminezredik ''see also'' alatt bújt el ez: ''referring to multiple ranges''.
az alábbi mutyi kijelöli minden második sorban az első 10 oszlopot a 29. sorig...Option Explicit
Dim sor As Long, egysor, soksor As Range
Sub markol()
'itt egy kezdő értéket dobunk soksorra, hogy az első ciklusban is megegye
Set soksor = Range(Cells(1, 1), Cells(1, 10))
'itt cikázunk egyet minden 2. soron, de már csak 3-tól kezdünk
For sor = 3 To 30 Step 2
'megadjuk a következő elemét az újnónak
Set egysor = Range(Cells(sor, 1), Cells(sor, 10))
'hozzáadjuk az eddigiekhez vagyis saját magához
Set soksor = Union(soksor, egysor)
Next sor
'jól kijelöljük az összegyűjtött tematikát
soksor.Select
End Sub
mosmán ezt is tudjuk...
[Szerkesztve] -
Apollo17hu
őstag
Tessék, még a magyarázatot is mellékelem.
Ha netalántán elektronikus úton készíted hozzá a folyamatábrát, akkor megköszönném, ha elküldenéd a mailcímemre.
Sub a_masodik_legnagyobb()
Randomize 'valódi véletlenszerûsítés
m = 0
n = 0
For i = 1 To 15
For j = 1 To 2
Cells(i, j) = Int(Rnd * 101) 'véletlenszám-generálás
Next
Next
For i = 1 To 15
For j = 1 To 2
If Cells(i, j) > m Then
m = Cells(i, j) 'a legnagyobb véletlenszám értéke
End If
Next
Next
For i = 1 To 15
For j = 1 To 2
If Cells(i, j) > n And Cells(i, j) < m Then
n = Cells(i, j) 'a 2. legnagyobb véletlenszám értéke
End If
Next
Next
Cells(1, 4) = n 'a 2. legnagyobb véletlenszám kiírása
Cells(1, 4).Font.Color = vbRed 'piros színnel a D1-es cellába
End Sub -
bosi84
tag
Sziasztok!
Nekem csak ehhez kéne a programkód:
Töltse fel az A1: B15 tartományt véletlenszámokkal
( 0 <= r <= 100 ). Készítsen makrót amely megkeresi és megadja
a második legnagyobb szám értékét. A keresés eredményét a
D1-es cellában piros színnel jelenítse meg!
Köszi
[Szerkesztve] -
lapa
veterán
most olvastam... nemtom még aktuális-e, de itt van egy megoldás egy hasonlóra: Bővebben: link olvasd el az előzményt abból kijön mire jó.
-
Johnsones
tag
válasz
Apollo17hu #21 üzenetére
köszi
-
Apollo17hu
őstag
Sziasztok!
Sajnos nem ismerem a kijelölés parancsát, de vmi ilyesmi lenne a programkód:Sub valami()
For i = 1 To 200
Rows(i * 2 - 1).Interior.Color = vbYellow
Next
End Sub
Ez az 1. sortól a 200. páratlan sorig minden páratlan sort sárgára színez. Természetesen a 200-at szinte tetszőlegesen lehet megválasztani. Az ''Interior.Color = vbYellow'' helyére kéne vmi, ami a kijelölést oldja meg. Ha teljesen másképp kell megoldani, akkor bocsi.
[Szerkesztve] -
return.value
tag
Szia !
Az elmondottak alapján én azt csinálnám, hogy csinálnék egy AddNewValueToList( newValue ) függvényt, ami annyit csinálna, hogy megnézné, hogy a listádnak (ez feltételezem egy oszlop) melyik az utolsó kitöltött sora, és az azt követő sorba beírná a newValue értékét. Az utolsó sort emg úgy állapítsd meg, hogy a cella értéke üres-e vagy sem.
A másik sheet-en a gomb eseménykezelőjébe meg csak annyit rakj, hogy hívd meg az új függvényedet, átadva neki az új értéket tartalmazó cella értékét. -
hm
aktív tag
Sziasztok!
Egy kis segítség kellene az excelben. Makrót kellene készítenem. Van két munkalapom (sheet) és kellene egy gombot készíteni. Van egy mező, amit ki kell az első munkalapon tölteni, és azt kellene átmásolni a másik munkalapra a gomb megnyomásával. De mivel itt egy listába kéne ezt behelyezni, minden egyes új beíráskor a következő sorba kéne hogy tegye a mezőt. És ezt nem tudom sehogysem kiszenvedni. Tudnátok abban segíteni hogy hogyan tudom a beírt adatot (gombnyomásra) mindig egyel lejjebb bemásolni egy másik lapon?
Előre is köszi a segítséget. -
lapa
veterán
szia,
1. application.displayalerts = false. ezzel megakadályozod a figyelmeztető üzenetek megjelenését (pl. makróval zársz egy fájlt). elvileg működik a te esetedben is. célszerű true-ra állítani utána.
2. én eddig úgy csináltam, hogy a form tulajdonságaiban állítható a bemeneti cellatartomány, a lista magassága és a célcella. onnan a makró is ki tudja olvasni. nemtom ez mennyire szakszerű, biztos visszaadja az eredményt vmi változóba is. ezt mesélje el egy szakértő, mert engem is érdekelne. -
tibcsi11
csendes tag
Helló!
Bocsi a zavarásért, de segítség kellene makróval kapcsolatban. Kb 1 hete kezdtem belemelegedni csak a témában, de van egy pár kérdésem:
- egy másik excel fileból akarok adatokat adatokat kimásolni makró segítségével, csak amikor megnyitom azt a másik file-t egy userform jelenik meg és addig nem csinál semmit amíg ezt a formot ki nem kapcsolom (megnyomom az x-et). A kérdésem a követkző: hogyan lehetne ezt a formot automatikusan kikapcsolni, estleg úgy megnyitni a file-t, hogy ne jelenjen meg?
- szeretnék egy userformra kér comboboxot felrakni, az egyik éveket tartalmaz (2000, 2001, ...) a másik a hónapokat (jan, feb, ..), alulra meg egy commandbuttont. Amikor a gomb lenyomdódik akkor hívódik egy eljárás ami ezt meg azt csinál, ez megy. A kérdésem: hogy tudom feltölteni a comboboxok-ba az elemeket, illetve ha kiválasztok egy-egy elemet, azokat hogy tudom felhasználni a a gomb lenyomásakor meghívódott eljárásokban?
Segítségeteket előre is köszönöm. -
Digiti Dotto
tag
köszi a mélt, válaszoltam, de ezzel visszajött
DELIVERY FAILURE: User not listed in DominoDirectory
és már csak egyetlen aprócska gondom van.....nekem van vagy 15000 sorom.
ha esetleg meg tudnád bütykölni akkor a hálám üldözne egy életen keresztül.
sajna nekem nem mennek az ilyen dolgok
köszönöm szépen
[Szerkesztve] -
Thyb
senior tag
-
Thyb
senior tag
válasz
Digiti Dotto #6 üzenetére
Na hi, nem gondoltam, hogy 1 ilyen Script igy meg tud még szorongatni, de nem találtam semmi help-et benne. Összeállitottam, 1 makrót, itt neked kell meghatározni, hogy hanyadik sorig menjen a kijelölés, ha van változód akkor az beiktatható. A Num1 megadásánál pedig azt tudod meghatározni, hogy hanyadik sorban kezdje a kijelölélst.
Sub Macro1()
'
' Macro1 Macro
' Macro recorded 2/7/2005 by tibor_kiss
Dim num As Integer
num1 = 1 'első sor lesz az első kijelölt
Dim myrows$
myrows$ = CStr(num1) & '':'' & CStr(num1)
Do While num1 < 20 'a 20-ik sorig fog kijelölni
myrows$ = myrows$ & '','' & CStr(num1) & '':'' & CStr(num1)
num1 = num1 + 2
Loop
range(myrows$).Select
End Sub- sok szerencsét, remélem használható lesz
-
Digiti Dotto
tag
namégegyszer...
-
Digiti Dotto
tag
uppancs
-
Digiti Dotto
tag
sziasztok,
arra szeretnék egy makrót, hogy minden páratlan sort jelöljön ki.
néztem, de nem boldogulok vele..
köszi a segítséget -
Sidaries
őstag
Egyolyan gondom lenne, hogy van egy nagyon hosszú listám számokból és ezt kéne úgy megbütykölni, hogy a számok elé és mögé rakjon egy *-ot, eképpen:
01023 -> *01023*
Ilyen egyszerű.És most pedig valaki legyen szíves segítsen, hogyan lehet ezt megoldani 800 rekordra. Szövegformátumúak a számok.
-
Raymond
titán
-
Hangover
tag
Bővebben: link
Remélem segítettem.. Ezek nem feltétlenül a makroíráshoz, inkább a VB-hez segítenek...
A makrohoz a VBA helpjét javaslom
[Szerkesztve] -
barni00
tag
Sziasztok!
Kéne nekem excel makrók készítéséhez valami e-book pdf file, vagy esetleg visual basic példaprogramok letöltőhelye. Előre is köszi!
Aktív témák
- Ukrajnai háború
- Vezetékes FEJhallgatók
- Elkezdte felszámolni a GPU-s PhysX támogatását az NVIDIA
- Intel Core i3 / i5 / i7 / i9 10xxx "Comet Lake" és i3 / i5 / i7 / i9 11xxx "Rocket Lake" (LGA1200)
- EA Sports WRC '23
- Anime filmek és sorozatok
- One mobilszolgáltatások
- Bemutatkozott a Poco X7 és X7 Pro
- Kingdom Come: Deliverance II teszt
- World of Tanks - MMO
- További aktív témák...