Telefonszámunk: 1-472-0679

[Resolved] VBA – bizonyos sorok kigyűjtése kétdimenziós tömbbe

Kezdőlap Fórumok Excel programozás [Resolved] VBA – bizonyos sorok kigyűjtése kétdimenziós tömbbe

Topic Resolution: Resolved

Ennek a témakörnek tartalma 6 hozzászólás, 3 résztvevő. Utolsó frissítés:  delila 3 hete telt el a bejegyzés óta.

7 bejegyzés megtekintése - 1-7 / 7
  • Szerző
    Bejegyzés
  • #5289

    pexcel
    Résztvevő

    Sziasztok,
    Egy relatíve egyszerűbb VBA kóddal kapcsolatban kérném a segítségeteket.
    Egy két oszlopból álló tartományból bizonyos feltételnek eleget tevő sorokat szeretnék kigyűjteni egy tömbbe, majd utána a tömb tartalmát bemásolni egy adott helyre.
    A mellékelten csatolt táblában ezt egy nagyon egyszerű példával szemléltettem. Ha a „B” oszlopban lévő cella értéke 4, akkor tárolja el az egész sort egy kétdimenziós tömbbe, majd a ciklus végén a tömb tartalmát másolja be a megadott helyre (nyilván adódik a filter+copy/paste megoldás, azonban bizonyos okok miatt mindenképp a tömbös megoldásra lenne szükségem).
    A példában látható rutin lefut, sajnos azonban minden sort bemásol a megadott helyre.
    Megköszönném, ha tudnátok segíteni a rutin korrigálásában.
    Péter

    Attachments:
    You must be logged in to view attached files.
    #5291

    delila
    Résztvevő

    Szia Péter!

    Tettem fel egy fájlt, ami több oszlopot is tartalmaz.
    Biztosan van elegánsabb megoldás, én ezt tudtam összehozni.
    Az első lap “megszűrt” adatait a második lapra gyűjti ki.

    Üdv,
    Kati

    Attachments:
    You must be logged in to view attached files.
    #5294

    pexcel
    Résztvevő

    Szia Kati,

    Nagyon szépen köszönöm a gyors segítséget!
    Az ilyen kérdéseknél az “elegancia” számomra messze nem preferencia, tehát mindegy, hogy milyen úton jutunk el a kívánt eredményhez.
    Még egyszer ezer köszönet,

    Péter

    #5296

    delila
    Résztvevő

    Szívesen.
    Azért remélem, jön egy szebb megoldás is.

    #5297

    NIN
    Résztvevő

    Sziasztok!

    Letöltöttem Pexcel.xlsm et és sajnos nekem nem működik.

    Konkrétan a munka1 tartlma nekem nem szűrhető, és a munka2 lapon sem találtam sem képletet, sem vb utalást sem!

    Delila ! tudnál esetleg segíteni, hogy nekem miért nem működik?

    Előre is köszönöm válszod!

    Üdv.: Norbi

    #5298

    delila
    Résztvevő

    Lépj a VB szerkesztőbe (Alt+F11), és ott a Module1-ben megtalálod a TombosMasolas makrót, azt kell elindítani.
    A füzetből az Alt+F8 előhozza a füzetben lévő makrók nevét, így is indíthatod anélkül, hogy a VB szerkesztőbe lépnél.
    Láthatod, hogy a füzet xlsm kiterjesztésű, ami makróbarát.

    #5305

    delila
    Résztvevő

    Egyszerűsítettem a makrón. A tömbbe eredetileg fordítva tettem be az adatokat (sor, oszlop).

    Sub TombosMasolas()
        Dim Tomb(), sor As Long, usor As Long, oszlop As Integer, uoszlop As Integer, tombsor As Integer
        
        usor = Cells.SpecialCells(xlLastCell).Row
        uoszlop = Cells.SpecialCells(xlLastCell).Column
    
        ReDim Tomb(usor, uoszlop)
        tombsor = 0
        For sor = 2 To usor
            If Cells(sor, 2) = 4 Then
                tombsor = tombsor + 1
                For oszlop = 1 To uoszlop
                    Tomb(oszlop, tombsor) = Cells(sor, oszlop)
                Next
            End If
        Next
        
        Sheets(2).Range("A1" & ":M" & uoszlop) = Application.Transpose(Tomb)
    End Sub
    
7 bejegyzés megtekintése - 1-7 / 7

Be kell jelentkezni a hozzászóláshoz.