-
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
- ÁRCSÖKKENTÉS Menő retró konfig: Q9550, Gigabyte P43, 4GB RAM, ASUS GT730
- Gamer PC-Számítógép! Csere-Beszámítás! I5 12400F / RTX 3070 8GB / 32GB DDR4 / 1TB SSD
- Microsoft Surface Laptop 5 13,5" Fekete i7-1265U 16GB 512GB magyarbill 1 év garancia
- Telefon felvásárlás!! Apple Watch Series 6/Apple Watch Series 7/Apple Watch Series 8
- LG 27UN880-B - 27" IPS ERGO - 3840x2160 4K - 60Hz - DisplayHDR 400 - USB Type-C - AMD FreeSync - Mac
Állásajánlatok
Cég: NetGo.hu Kft.
Város: Gödöllő
Cég: Promenade Publishing House Kft.
Város: Budapest