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
7 bejegyzés megtekintése - 1-7 / 7
  • Szerző
    Bejegyzés
  • #5289
    pexcel
    Felhasználó

      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
      Felhasználó

        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
        Felhasználó

          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
          Felhasználó

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

            #5297
            NIN
            Felhasználó

              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
              Felhasználó

                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
                Felhasználó

                  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.