- iPhone topik
- Motorola Edge 40 - jó bőr
- Magyarországon is kapható a Moto G85 5G
- Motorola Razr 60 Ultra - ez a kagyló könnyen megfő
- Milyen okostelefont vegyek?
- Samsung Galaxy A54 - türelemjáték
- Ilyen lesz a Fairphone 6
- 45 wattos vezeték nélküli töltés jön az új iPhone-ba
- Karaktere biztos lesz az első Nothing fejhallgatónak
- Netfone
-
Mobilarena
A Microsoft Excel topic célja segítséget kérni és nyújtani Excellel kapcsolatos problémákra.
Kérdés felvetése előtt olvasd el, ha még nem tetted.
Új hozzászólás Aktív témák
-
Fferi50
Topikgazda
válasz
ppapp44 #37415 üzenetére
Szia!
"Most is deklarálva van mind a workkbook-on és a modul1-ben (sőt kísérletként visszaraktam a modul2-be és formra is (teljesen feleslegesen)), de így is működik."
Ugye azt tudod, hogy a három-négy különböző helyen deklarált ugyanazon nevű publikus változó NEM UGYANAZ, hanem 3-4 különböző változó, mindegyiket a Modulnév.Változónév formulával tudod elérni - KÜLÖN-KÜLÖN - és más más értékük lehet!
Természetesen ennek is meg lehet a maga célja, jelen esetben azonban inkább csak zavart okoz szerintem.Én semmiképpen nem javaslom.
Üdv.
-
Fferi50
Topikgazda
válasz
ppapp44 #37413 üzenetére
Szia!
Szerintem az volt a baj, hogy minden modulban stb. definiáltad a változót. Csak egy helyen deklaráld és utána arra az egyre hivatkozz. Különben honnan tudná a VBA, hogy melyiket akarod... ha pedig nincs előtte modulnév, akkor az aktuális eljárásban magának deklarálja, ha nincs Option Explicit.
a javított verziót.
Üdv.
-
ppapp44
újonc
válasz
ppapp44 #37393 üzenetére
A korábban definiált public változóim működnek (modul hivatkozás nélkül), de a ma felvett egyszerűen nem. Már cserélgettem a nevet, a tipust (as string, as variant)a definiálás helyét (Thisworkbook, userform, modul). Használtam Feri hivatkozását "modul2.változó", valóban "userform10.muszak", de így sem látom máshol (msgbox muszak) csak a userform-on belül. (Egyébként ez valóban jó ötlet.)
Hogyan tudom ellenőrizni, hogy a VB milyen típusnak tart egy változót?
Létezhet darabszámi korlátja a (global) változóknak????
Előre is köszi Péter -
Fferi50
Topikgazda
válasz
ppapp44 #37393 üzenetére
Szia!
"de a változó nem kap értéket. Olyan mintha nem válna globálissá sehogy sem a userform-on"
A userform kódlapján definiált változó csak akkor és addig él, amíg a form a memóriában van! Tehát betöltés előtt és Unload után már nem érhető el, akkor sem, ha Public.
Ezért ezeket a változókat is célszerű általános modulban deklarálni és a userform kódjában értéket adni nekik.Üdv.
-
Fferi50
Topikgazda
válasz
ppapp44 #37391 üzenetére
Szia!
A publikus változókra a Modulnév.Változónév szintaxissal hivatkozhatsz.
Pl. Thisworkbook.Ezavaltozo = "akarmi" vagy Module1.Valtozo=5
Ezt akkor is tanácsos betartani, ha éppen az adott modulon vagy formon belül vagy mert ugyanazon név előfordulhat eljáráson belül is.
Érdemes átnézned a VBA help változók élettartamára vonatkozó leírását.Üdv.
Új hozzászólás Aktív témák
Hirdetés
- ROBUX ÁRON ALUL - VÁSÁROLJ ROBLOX ROBUXOT MÉG MA, ELKÉPESZTŐ KEDVEZMÉNNYEL (Bármilyen platformra)
- Microsoft licencek KIVÉTELES ÁRON AZONNAL - UTALÁSSAL IS AUTOMATIKUS KÉZBESÍTÉS - Windows és Office
- Bontatlan - BATTLEFIELD 1 Collectors Edition - Játékszoftver nélkül
- Adobe Előfizetések - Adobe Creative Cloud All Apps - 12 Hónap - NYÁRI AKCIÓ!
- Windows 10 11 Pro Office 19 21 Pro Plus Retail kulcs 1 PC Mac AKCIÓ! Automatikus 0-24
- Keresem : Lenovo Legion 5 16IRX9 83DG0037HV
- Samsung Galaxy S21 Ultra , 12GB , 128 GB , Kártyafüggetlen
- Csere-Beszámítás! Asus Rog Strix G731GU Gamer Noti! I7 9750H / GTX 1660TI / 16GB D4 / 512 SSD
- BESZÁMÍTÁS! MSI B450 TomaHawk R5 5600X 32GB DDR4 512GB SSD RTX 3060 XC 12GB Rampage SHIVA 600W
- Újra Akcióban!!! Ducky One 2 Mini és SF billentyűzetek a bolti ár töredékéért! Számla+Gari
Állásajánlatok
Cég: CAMERA-PRO Hungary Kft
Város: Budapest
Cég: PC Trade Systems Kft.
Város: Szeged