Hirdetés

2024. június 26., szerda

Gyorskeresés

Útvonal

Fórumok  »  Szoftverfejlesztés  »  Excel makró készítése (téma lezárva)

Hozzászólások

(#1) barni00


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!

Hol? A nyúlon túl???? Nem! A nyúl az!!!

(#2) Hangover


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]

(#3) Raymond válasza barni00 (#1) üzenetére


Raymond
félisten

Egyszeru de kicsit bonyolultabb dolgokhoz probald ugy a Record Macro-t es csinald azt, amit a makroval akarnal lepesrol lepesre. Utana modositsd a felvett makrot az igenyeid szerint. Es ahogy a kollega felettem irta, a Help nagyon jo forras sok pelda-koddal is.

Privat velemeny - keretik nem megkovezni...

(#4) Sidaries


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.

I am the Visionaire, follow me if you dare...

(#5) jeges válasza Sidaries (#4) üzenetére


jeges
senior tag

ehhez makro kéne?
pl. a1ben van 1211, akkor a2be beírod, h =''*'' & a1 & ''*''
ezzel a2be bekerül a *1211*

lehet, h a + jel is működik az & helyett

mod: hja, és utána duplaklikk a már beképletezett cella jobb alsó sarkára :)

[Szerkesztve]

(#6) Digiti Dotto


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

(#7) Digiti Dotto


Digiti Dotto
tag

uppancs

(#8) Digiti Dotto


Digiti Dotto
tag

namégegyszer...

:))

(#9) Thyb válasza Digiti Dotto (#6) üzenetére


Thyb
senior tag

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
:B - sok szerencsét, remélem használható lesz

Ha a hatalom csúcsán nincs erkölcs, alatta nincs szabadság.

(#10) Thyb válasza Thyb (#9) üzenetére


Thyb
senior tag

Azt elfelejtettem beleirni, hogy csak 84-sorig tud figyelni, mert a szöveges változó 256-os limitje nem enged több karaktert tárolni. De ez lehet az alap, és ezt lehet bőviteni, akár a szöveges változókra is rá lehet huzni egy ciklust, mikor melyiket használja.

Ha a hatalom csúcsán nincs erkölcs, alatta nincs szabadság.

(#11) Digiti Dotto válasza Thyb (#9) üzenetére


Digiti Dotto
tag

hello,

köszi szépen

(#12) Digiti Dotto válasza Thyb (#10) üzenetére


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]

(#13) tibcsi11


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.

(#14) lapa válasza tibcsi11 (#13) üzenetére


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.

(#15) hm


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.

(#16) hm válasza hm (#15) üzenetére


hm
aktív tag

up

(#17) hm válasza hm (#16) üzenetére


hm
aktív tag

up

(#18) return.value válasza hm (#15) üzenetére


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

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.

(#19) Johnsones válasza Thyb (#9) üzenetére


Johnsones
tag

szia,

én is ilyen sorkijelölős problémával küzdök és nem akar összejönni a dolog....persze nem értek hozzá. Viszont szeretném 400-500 sorra használni.
ha tudnál segíteni azt megköszönném.

köszi

(#20) ollie válasza Johnsones (#19) üzenetére


ollie
MODERÁTOR

Pontosan írd le mit szeretnél, és milyen a tábla amire szeretnéd használni.

***

(#21) Apollo17hu


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]

(#22) Johnsones válasza Apollo17hu (#21) üzenetére


Johnsones
tag

köszi

(#23) lapa válasza hm (#15) üzenetére


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

(#24) bosi84


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]

MyRig: Gigabyte Z68XP-UD3, i5 2500k@4,3Ghz, Kingston HyperX 2x4GB 1600Mhz, Gigabyte GTX 1070 Gaming G1.

(#25) Apollo17hu válasza bosi84 (#24) üzenetére


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

(#26) Gabró válasza bosi84 (#24) üzenetére


Gabró
tag

:))közgáz elméleti házi:))

(#27) lapa válasza Digiti Dotto (#6) üzenetére


lapa
veterán

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]

(#28) update válasza lapa (#27) üzenetére


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!!!

(#29) lapa válasza update (#28) üzenetére


lapa
veterán

én nem nagyon csináltam még ilyet, de ha vannak konkrét kérdéseid akkor tedd fel őket. gondolom valami egyszerűvel kéne kezdeni, mint pl. amőba. a hódítósat meg a lemuriásatén nem is ismerem.

(#30) update válasza update (#28) üzenetére


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!!! :)

(#31) Apollo17hu válasza update (#30) üzenetére


Apollo17hu
őstag

ehhe... Excel-ben egy Hódító-szintű játékot :U 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...

(#32) Apollo17hu válasza Apollo17hu (#31) üzenetére


Apollo17hu
őstag

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.

(#33) update válasza Apollo17hu (#32) üzenetére


update
csendes tag

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

(#34) Apollo17hu válasza update (#33) üzenetére


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.

(#35) update válasza Apollo17hu (#34) üzenetére


update
csendes tag

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

(#36) bosi84


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

MyRig: Gigabyte Z68XP-UD3, i5 2500k@4,3Ghz, Kingston HyperX 2x4GB 1600Mhz, Gigabyte GTX 1070 Gaming G1.

(#37) jeges válasza bosi84 (#36) üzenetére


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

(#38) Apollo17hu válasza bosi84 (#36) üzenetére


Apollo17hu
őstag

Ezt kell a GENERÁLÓ-ba írni (az aposztrófokat írd át idézőjellé!):
mod: bocs, látom, tegnapra kellett volna :( kalappal, 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]

(#39) rember


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

(#40) lapa


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.

(#41) lapa válasza lapa (#40) üzenetére


lapa
veterán

MOD: ööö mint kiderült a replace simán lezsírozza a változókban is a dolgot. nembaj szépen kifejtettem... bocs

(#42) lapa


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]

(#43) lapa válasza lapa (#42) üzenetére


lapa
veterán

upsz valaki?

(#44) Gh0sT válasza lapa (#42) üzenetére


Gh0sT
addikt

Nézegettem a súgót. Biztos, hogy ez megoldható? :F 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...

Soha nem késő, hogy azzá válj, aki lehettél volna.

(#45) L3zl13 válasza Gh0sT (#44) üzenetére


L3zl13
nagyúr

Nem értek a VB-hez, de én inkább arra gondolnék, hogy a eljáráson belül nem definiálhatsz másik eljárást, de kívül definiált másik eljárást gondolom meghívhatsz.

Aki hülye, haljon meg!

(#46) Gh0sT válasza L3zl13 (#45) üzenetére


Gh0sT
addikt

Igen, sokkal logikusabban hangzik a Te verziód, viszont az meg felveti a ''hogyan?'' és a ''miért nem működik?'' kérdéseket. :)

Soha nem késő, hogy azzá válj, aki lehettél volna.

(#47) lapa válasza Gh0sT (#46) üzenetére


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

(#48) lapa válasza lapa (#42) üzenetére


lapa
veterán

haladok:


Option Explicit
Dim x, y As Long

Sub egyik()
x = 1
Run ''masik'', x, y
MsgBox ''y: '' & y
End Sub

Sub masik(x, y As Long)
MsgBox ''x: '' & x
y = x + 1
End Sub



mosmár csak az a baj, hogy a sub masikban kiszámolt értéket nemtom visszarakni az elsőbe.

(#49) lapa válasza lapa (#48) üzenetére


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

(#50) lapa


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.

Útvonal

Fórumok  »  Szoftverfejlesztés  »  Excel makró készítése (téma lezárva)
Copyright © 2000-2024 PROHARDVER Informatikai Kft.