Új hozzászólás Aktív témák

  • m.zmrzlina

    senior tag

    Kétdimenziós dinamikus tömbökkel kapcsolatban lenne elméleti kérdésem. Gyakori feladat, hogy nagyobb adattartományokból (pl 10-20 000 sor 5-10 oszlop)kell bizonyos feltételek szerint kiválogatni egyes rekordokat. Én ezt úgy szoktam csinálni, hogy csinálok két tömböt. (pl beTömb, kiTömb)A bemenő tartományt beolvasom a beTömb-be amin azután végigmegyek egy For-Next ciklussal, és ha a kívánt feltétel teljesül azt a rekordot hozzáadom a kiTömb-höz. Ezt úgy teszem hogy előbb a Redim Preserve utasítással megnövelem a kiTomb méretét, majd ezt az új üres tömbelemet feltöltöm adattal.

    A probléma itt kezdődik, mivel 2D dinamikus tömbnek nem lehet növelni a sorainak csak az oszlopainak számát. Ezt pl itt olvastam de számos más helyen is ugyanezt találtam. Ezért aztán egy eléggé nyakatekertnek lászó megoldást eszeltem ki. A kimenő tömbhoz hozzáadok egy oszlopot (Redim Preserve.....) ezt az oszlopot feltöltöm a beTömb sora adatával. Így kvázi egy transzponált tömböt kapok amit amikor kiíratok a munkalapra akkor a: célmunkalap.Range(ahovárakniakarom).Value = Application.Transpose(kiTomb)
    sorral itatom ki. Vagyis újratranszponálom a kapott kiTömb-öt

    Az a kérdésem, hogy lethet-e ezt a feladatot egyszerűbben csinálni, illetve, hogy milyen más megoldások léteznek?

Új hozzászólás Aktív témák