Szerző |
Üzenet |
vackor
gyémánt tag
Csatlakozott: szer. márc. 24, 2004 13:43 Hozzászólások: 4777 Tartózkodási hely: Siófok
|
|
hétf. dec. 19, 2005 9:46 |
|
|
Zééé
ezüst tag
Csatlakozott: szer. márc. 24, 2004 13:43 Hozzászólások: 93
|
Köszi, müxik!
Jöhet a lakat!!!!
Zééé.
|
pén. dec. 16, 2005 4:48 |
|
|
vackor
gyémánt tag
Csatlakozott: szer. márc. 24, 2004 13:43 Hozzászólások: 4777 Tartózkodási hely: Siófok
|
Oké, már értem!
A modul elején kell public-ként deklarálni a változót:
Option Private Module
Public változó1 As típus
Public változó2 As típus
Public változó3 As típus
...
A CommandButton1_Click()-ben meg egyszerűen hivatkozol rá.
|
csüt. dec. 15, 2005 11:07 |
|
|
Zééé
ezüst tag
Csatlakozott: szer. márc. 24, 2004 13:43 Hozzászólások: 93
|
OK!
Nekem nem elemnév kell!
Van egy Module1-m és abban van egy makróm (Sub), amiben van egy változó, legyen ez "ertek" nevezetű! Ezután megnyitok egy Userform1-t (userform1.show) és attól függően, hogy a userform-ban mit csinálok, szeretném megkapni az "ertek" változóm értékét! Például a Userform1-en van egy gomb és ha arra ráklikkelek, akkor szeretném ha kiírná a Module1-ben lévő "ertek" változóm értékét!
Csak nem tudom, hogy hogyan kell kiolvasni egy userformból a moduleban deklarált változót!
Ez a bajom, erre várok választ!
Köszi...
Zééé.
|
szer. dec. 14, 2005 19:10 |
|
|
Zééé
ezüst tag
Csatlakozott: szer. márc. 24, 2004 13:43 Hozzászólások: 93
|
OK!
Nekem nem elemnév kell!
Van egy Module1-m és abban van egy makróm (Sub), amiben van egy változó, legyen ez "ertek" nevezetű! Ezután megnyitok egy Userform1-t (userform1.show) és attól függően, hogy a userform-ban mit csinálok, szeretném megkapni az "ertek" változóm értékét! Például a Userform1-en van egy gomb és ha arra ráklikkelek, akkor szeretném ha kiírná a Module1-ben lévő "ertek" változóm értékét!
Csak nem tudom, hogy hogyan kell kiolvasni egy userformból a moduleban deklarált változót!
Ez a bajom, erre várok választ!
Köszi...
Zééé.
|
szer. dec. 14, 2005 19:09 |
|
|
vackor
gyémánt tag
Csatlakozott: szer. márc. 24, 2004 13:43 Hozzászólások: 4777 Tartózkodási hely: Siófok
|
Kicsit pontosítani kéne (lehet hogy csak én nem értem első nekifutásra).
Mit szeretnél csinálni?
|
szer. dec. 14, 2005 9:34 |
|
|
Zééé
ezüst tag
Csatlakozott: szer. márc. 24, 2004 13:43 Hozzászólások: 93
|
Én még azért várnám valakitől a megoldást a topic kérdésemre!!!
(
Zééé.
|
kedd dec. 13, 2005 20:24 |
|
|
Lordring
ezüst tag
Csatlakozott: szer. márc. 24, 2004 13:43 Hozzászólások: 60
|
Köszönöm Zééé! Közben más is felhívta a figyelmemet, hogy vessző kell és nem pontosvessző. Így jó lett. Köszi.
|
hétf. dec. 12, 2005 23:26 |
|
|
Zééé
ezüst tag
Csatlakozott: szer. márc. 24, 2004 13:43 Hozzászólások: 93
|
Hi!
Nos, a cells(i,4)-k után kéne egy pár dolog, mint például a "value", másrészt a paraméterek elválasztásánál nem megfelelő a pontosvessző karakter!!!!
Tehát:
Te azt akarod, hogy a 4-s cellába írt képletek legyenek lekerekítve tizedes nélkül:
Nem tudom, hogy mennyi sorod van a 4-s cellában, ezért "while ciklussal" oldottam meg neked, magyarán szólva addig megy, amíg talál adatot a 4-s oszlopban! Előbb másold át forráskódot a VB-be és ott elemezd, mert ott jobban látszanak a comment-ek is! Ha nem müxik szólj!
--- Közben válaszolnék a topicomra jött tippre, hogy nekem nem elemnév kell! Van egy Module1-m és abban van egy makróm, amiben van egy változó, legyen ez "ertek" nevezetű! Ezután megnyitok egy Userform1-t (userform1.show) és attól függően, hogy a userform-ban mit csinálok, szeretném megkapni az "ertek" változóm értékét! Csak nem tudom, hogy hogyan kell kiolvasni egy userformból a moduleban deklarált változót! Ez a bajom, erre várok választ!!! ---
Nos, íme a Te kérdésedre a forráskód:
Sub start()
'Deklarálás
Dim i As Long
Dim ertek As Long
'Értékadás
i = 1
'While start
While Trim(CStr(Cells(i, 4).Value)) <> ""
'Numerikus-e?
If IsNumeric(Cells(i, 4).Value) = False Then
Cells(i, 4).Select
hibauzenet = MsgBox("Ennek a cellának az tartalma nem szám, így nem kerekíthető!!! Makró félbeszakítva!!!", vbCritical, "Adathiba...")
End
End If
'Érdemes átadni egy változóba
ertek = Round(CLng(Cells(i, 4).Value), 0)
'Érdemes átalakítani ezen cellákat Számformátummá és előtte törölni a tartalmukat
Cells(i, 4).Clear
Cells(i, 4).NumberFormat = "0"
'És végül átadni a kerekített értéket ugyanabba a cellába
Cells(i, 4).Value = ertek
i = i + 1
Wend
Cells(i-1, 4).Select
kesz = MsgBox("Makró vége!!!", vbOKOnly, "Olléé...")
Cells(i, 1).Select
End Sub
Üdvözlettel:
Zééé.
|
hétf. dec. 12, 2005 22:47 |
|
|
Lordring
ezüst tag
Csatlakozott: szer. márc. 24, 2004 13:43 Hozzászólások: 60
|
Akkor mi ebben a hiba?
Dim i As Integer
For i = 1 To 10
cells(i,4)= round (cells(i,4);0)
Next i
'
End Sub
A pirossal jelölt helyen "Expected: list separator or )" hibát jelez.
|
hétf. dec. 12, 2005 17:26 |
|
|
vackor
gyémánt tag
Csatlakozott: szer. márc. 24, 2004 13:43 Hozzászólások: 4777 Tartózkodási hely: Siófok
|
Lordring írta: Angolban round, magyarban kerek. Ugyanaz.
Hát, nem hiszem hogy a VBA elfogadja a magyar függvényt, de én is tévedhetek.
Próbáld meg így: (nálam működik...)
Kód: Cells(i, 4) = Round(Cells(i, 4),0)
|
hétf. dec. 12, 2005 16:06 |
|
|
Lordring
ezüst tag
Csatlakozott: szer. márc. 24, 2004 13:43 Hozzászólások: 60
|
Angolban round, magyarban kerek. Ugyanaz.
vackor írta: Lordring írta: Sziasztok!
A következő makrós képletet hogyan lehet úgy átalakítani, hogy ne az egész részt vegye, hanem egészre kerekítsen? ('kerek' függvény).
Cells(i, 4) = Int(Cells(i, 4)) ez működik, de nem kerekít, hanem csonkol.
Cells(i, 4) = kerek((Cells(i, 4);0) ez nem fogadja el. Úgy emlékszem hogy 'round' a kerekítő függvény.
|
hétf. dec. 12, 2005 15:58 |
|
|
vackor
gyémánt tag
Csatlakozott: szer. márc. 24, 2004 13:43 Hozzászólások: 4777 Tartózkodási hely: Siófok
|
Re: Office XP Excel Makró kérdés
Zééé írta: Hi All
Tudja valaki, hogy hogyan kell átadni egy Moduleban lévő makró egyes változóit egy Userformnak? Valamint jó lenne ezt valahogy visszaadni az adott makrónak is! Úgy mint az egyik Sub a másiknak és vissza!
Hogy érted azt, hogy átadni a változót?
Ha egy vezérlő értékét akarod beállítani valamire, akkor
Kód: Formnév.Elemnév = érték illetve visszaolvasáshoz Kód: változó = Formnév.Elemnév
|
hétf. dec. 12, 2005 15:53 |
|
|
vackor
gyémánt tag
Csatlakozott: szer. márc. 24, 2004 13:43 Hozzászólások: 4777 Tartózkodási hely: Siófok
|
Lordring írta: Sziasztok!
A következő makrós képletet hogyan lehet úgy átalakítani, hogy ne az egész részt vegye, hanem egészre kerekítsen? ('kerek' függvény).
Cells(i, 4) = Int(Cells(i, 4)) ez működik, de nem kerekít, hanem csonkol.
Cells(i, 4) = kerek((Cells(i, 4);0) ez nem fogadja el.
Úgy emlékszem hogy 'round' a kerekítő függvény.
|
hétf. dec. 12, 2005 15:47 |
|
|
Lordring
ezüst tag
Csatlakozott: szer. márc. 24, 2004 13:43 Hozzászólások: 60
|
Sziasztok!
A következő makrós képletet hogyan lehet úgy átalakítani, hogy ne az egész részt vegye, hanem egészre kerekítsen?
('kerek' függvény).
Cells(i, 4) = Int(Cells(i, 4)) ez működik, de nem kerekít, hanem csonkol.
Cells(i, 4) = kerek((Cells(i, 4);0) ez nem fogadja el.
|
hétf. dec. 12, 2005 15:09 |
|
|
Zééé
ezüst tag
Csatlakozott: szer. márc. 24, 2004 13:43 Hozzászólások: 93
|
Office XP Excel Makró kérdés
Hi All
Tudja valaki, hogy hogyan kell átadni egy Moduleban lévő makró egyes változóit egy Userformnak? Valamint jó lenne ezt valahogy visszaadni az adott makrónak is! Úgy mint az egyik Sub a másiknak és vissza!
Vagy a másik útvonal, hogy létrehozok egy globális változót! Bár ez nem túl szerencsés a programozásban és ráadásul ezt sem tudom, hogy hogyan kell!
Aki tud segíteni az kérem írjon!
Előre is köszönettel!
Zééé.
|
szomb. dec. 10, 2005 11:06 |
|
|