- f(x)=exp(x): A laposföld elmebaj: Vissza a jövőbe!
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- gban: Ingyen kellene, de tegnapra
- Magga: PLEX: multimédia az egész lakásban
- bb0t: A könyvelő szakma halott?
- Geri Bátyó: B550 szűk keresztmetszet, de mi és miért?
- Luck Dragon: Asszociációs játék. :)
- sziku69: Fűzzük össze a szavakat :)
- Gurulunk, WAZE?!
- sziku69: Szólánc.
-
LOGOUT
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
alfa20 #35979 üzenetére
Szia!
Ilyen esetben a "háromdimenziós" változó megadásra van szükség, meg kell mondani a makróban, melyik modulban van a változó.
A megoldás:Private Sub start()
ThisWorkbook.makroFileWB.Sheets(1).Range("A1") = "1000"
End SubIgen, kicsit bizarrnak hat, hiszen a makroFileWB változó tartalma a ThisWorkbook objektum, viszont magát a változót a ThisWorkbook. modulban deklaráltad.
Másrészt ne felejtsük el azt sem, hogy a ThisWorkbook objektum és az ActiveWorkbook objektum nem feltétlenül ugyanarra a munkafüzetre hivatkozik...bár alapból gondolhatnánk akár ezt is.
A ThisWorkbook mindig a makrót elindító munkafüzet lesz, az ActiveWorkbook pedig, mint a neve is mutatja, az éppen aktív munkafüzet.
Azt javaslom, hogy globál/publikus változókat mindig általános modulban deklarálj és a modulnévvel így könnyen tudsz rá hivatkozni: modulnév.változónévJavaslom, nézd át a változók élettartama és hatóköre részt a VBA helpben.
Üdv.
Új hozzászólás Aktív témák
Hirdetés
Állásajánlatok
Cég: CAMERA-PRO Hungary Kft
Város: Budapest
Cég: Liszt Ferenc Zeneművészeti Egyetem
Város: Budapest