Excel VBA For ciklus nem fut végig

Excel VBA For ciklus nem fut végig
2018-09-23T04:04:22+02:00
2018-09-24T12:47:36+02:00
2022-10-15T21:30:23+02:00
SzGD
Sziasztok!

Egy olyan problémára szeretnék megoldást keresni, hogy egy excel for ciklus nem fut le végig.
A maximális sort képlettel határozom meg. Ha manuálisan adok neki értéket akkor
40000 sorig még hibátlanul lefut, de ha az "i" változónak pl 45000 értéket adok elszáll.
A dokumentumban minimum 60-63000 sor van ezért szükség lenne a hosszabb lefutásra.
A megtalált adatokat a form egy input mezőjébe összegzi.
Ez a minta kód

Workbooks("Teszt.xlsx").Activate
Worksheets("Adatok1").Activate
Range("A1").Select
maxsor = ActiveSheet.UsedRange.Rows.Count + 1
For i = 2 To maxsor
DemoForm.Ertek1.Value = DemoForm.Ertek1.Value + Cells(i, 9).Value
Next i

Segítségeteket előre is köszönöm!
Mutasd a teljes hozzászólást!

  • Hali!

    Használd a forráskód-gombot (a szerkesztő-mező felett, balról a harmadik: </>), ha forráskódot illesztesz be.

    Mutasd a teljes hozzászólást!
  • DemoForm.Ertek1.Value = DemoForm.Ertek1.Value + Cells(i, 9).Value

    Itt a gond. Az egyik értéket növeled, de nem képes azt tárolni. Mi az a DemoForm.Ertek1.Value? Annak a maximálisan tárolható értékét eléred igen hamar.

    Gondolj bele! Ha ebbe maximum 65536 a tárolható szám, akkor ha minden cellában 2 az érték, akkor el sem jut 40.000-ig sem. Mi ez az ertek1? Egy változó? Ha igen milyen típus? Mekkora szám lehet majd ez?

    Ha valami combobox, vagy más, akkor a maximális értéke mire van beállítva?
    Mutasd a teljes hozzászólást!
  • A másik gond pedig az, hogy mi van abban az esetben mikor a cella üres VAGY szöveg? Abból hogy lesz szám?

    ciklus
        If isnumeric(cellaérték) then
            érték=érték+ cellaérték
        end if
    ciklus next
    Mutasd a teljes hozzászólást!
  • Szia!

    a az "i" változónak pl 45000 értéket adok elszáll.

    Mit értesz azalatt, hogy elszáll? Milyen hibaüzenetet kapsz? Legalább ennyit ossz meg velünk még.

    Ráadásul, ahogyan az előttem szóló is megjegyezte, hibás cellaérték is okozhat gondot. De ehhez ismerni kellene legalább a hibaüzenetet. Aztán az összegzendő tartalmakat.

    Másrészt feltétlenül fontos ciklussal csinálni? Miért nem használod az Excel Sum függvényét?

    Üdv.
    Mutasd a teljes hozzászólást!
  • Miért nem adsz neki egy szum függvényt az egyik cellába?
    Kiolvasod változóba hány sort akarsz végigmenni, (ez megvan a maxsor változó), és pl. a cells (1,10) be beírod, hogy
    kepl="SUM(I1:I"&maxsor&")"
    Active.cell.formulaR1C1=kepl
    Oszt jónapot.
    Mutasd a teljes hozzászólást!
Tetszett amit olvastál? Szeretnél a jövőben is értesülni a hasonló érdekességekről?
abcd