-
Fototrend
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
-
Delila_1
veterán
válasz
m.zmrzlina
#10476
üzenetére
A ws.Range("B1").End(xlDown).Row annak a műveletnek a VB-s leírása, mikor a B1 cellán állva Ctrl+le nyilat nyomsz. Ha üres a B oszlop, vagy csak a B1-ben van érték, a fókuszod ilyenkor az alsó, 1048576. sorodra áll.
Mivel az usor% változó értékét
usor% = ws.Range("B1").End(xlDown).Row + 1 -ként adtuk meg, ez a 1048577. sort adja meg a változónak, ami eggyel több, mint amit az Excel lelke kibír. Ezért jelez joggal túlcsordulást. -
Delila_1
veterán
válasz
m.zmrzlina
#10476
üzenetére
Ha a helyfoglalásnál % jelet teszel a változó után, akkor integer (egész) típusú értékeket vár értékként. Ilyenkor a Dim változó után nem kell (nem is engedi) az As Integer meghatározást.
A dim v$ string (szöveges)-, a v# double (lebegőpontos)-, a v! single (lebegőpontos, más tartománnyal)-, a v& long (egész, más tartománnyal, mint az integer)-, a v@ currency (fixpontos) értéket fogad. A napokban jöttem rá véletlenül, hogy elég a dimenzionálásnál megadni a %, $, stb. jeleket, a makró további részében már el lehet hagyni, de szerintem jobb később is kiírni a könnyebb követhetőség érdekében.
A túlcsordulást megelőzheted az
usor%=range("H1048576").end(xlup).row+1 formával.Ne hidd, hogy csak Te szenvedsz a makrók megírása közben.
Új hozzászólás Aktív témák
- GYÖNYÖRŰ iPhone 12 Pro 256GB Gold -1 ÉV GARANCIA - Kártyafüggetlen, MS3438
- HIBÁTLAN iPhone 14 Pro 256GB Space Black -1 ÉV GARANCIA -Kártyafüggetlen, MS3235
- Minis Forum Mini PC MS-A2 Ryzen 9955HX 16GB 1000GB 1 év garanciával
- Telefon felvásárlás!! Xiaomi Redmi Note 13, Xiaomi Redmi Note 13 Pro, Xiaomi Redmi Note 13 Pro+
- Telefon felvásárlás!! Samsung Galaxy A16, Samsung Galaxy A26, Samsung Galaxy A36, Samsung Galaxy A56
Állásajánlatok
Cég: NetGo.hu Kft.
Város: Gödöllő
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Fferi50
