Telefonszámunk: 1-472-0679

cellaérték hasonlítása, sorbeszúrás, szummázás

Kezdőlap Fórumok Excel programozás cellaérték hasonlítása, sorbeszúrás, szummázás

7 bejegyzés megtekintése - 1-7 / 7
  • Szerző
    Bejegyzés
  • #3267
    spieder
    Felhasználó

      Sziasztok,

      Azt szeretném makróval megoldani, hogy egy pár száz soros táblázat „A oszlopában” lévő azonos cikkekhez tartozó darabszámokat „B oszlop” összegezze úgy, hogy az adott cikk sorai után szúrjon be egy sort, és oda írja be az adott cikk össz darabszámát. A klasszikus PIVOT sajnos ebben az esetben nem jó, a lenti képet szeretném látni. 1-1 termékcsoport többször is előfordulhat, de elég mindet csak az adott blokkban összegezni.
      Segítségeteket előre is köszönöm.
      Példa:

      alma 5
      alma 15
      alma 20
      körte 40
      körte 20
      barack 60
      dinnye 60
      dinnye 20
      dinnye 10
      dinnye 80
      répa 40
      répa 20
      alma 40
      alma 50

      A makró futtatása után pedig így módosulna a táblázat:
      alma 5
      alma 15
      alma 20
      Összesen: 40
      körte 40
      körte 20
      Összesen: 60
      barack 60
      Összesen: 60
      dinnye 60
      dinnye 20
      dinnye 10
      dinnye 80
      Összesen: 170
      répa 40
      répa 20
      Összesen: 60
      alma 40
      alma 50
      Összesen: 90

      Attachments:
      You must be logged in to view attached files.
      #3269
      horvimi
      Adminisztrátor

        Szia!

        Tehát ha a csoportok ismétlődhetnek, és valóban azt szeretnéd látni, amit leírtál a példában, akkor valóban makrót kell írni rá.

        Ha soha nem programoztál, akkor ez egy kicsit nehéz lesz első feladatnak.

        Hol tartasz makróprogramozásban?

        #3270
        horvimi
        Adminisztrátor

          Én nagyjából ezt az algoritmust állítanám fel.
          —————————————–

          'Első cella
          'ciklus amíg nem üres az akt. cella
          '    s = akt. sor értéke
          '    ciklus amíg a ugyanaz  aszöveg
          '        következő cella
          '        s = s + akt. sor értéke
          '    ciklus vége
          '    új sor beszúrás
          '    új sorba: "Összesen:" és mellé s
          '    következő cella
          'ciklus vége

          Imre

          #3271
          delila
          Felhasználó

            Így oldanám meg (Horvimiétől kicsit eltérő módon):

            Sub Beszuras()
                Dim sor As Long, kezd As Long, f As Boolean
                
                sor = 1: f = False
                Do While Cells(sor, 1) > ""
                    If Not f Then
                        kezd = sor: f = True
                    End If
                    If Cells(sor + 1, 1) <> Cells(sor, 1) Then
                        Rows(sor + 1).EntireRow.Insert
                        Cells(sor + 1, 1) = "Összesen:"
                        Cells(sor + 1, 2) = "=sum(B" & kezd & ":B" & sor & ")"
                        Range(Cells(sor + 1, 1), Cells(sor + 1, 2)).Font.Bold = True
                        sor = sor + 2
                        f = False
                    Else
                        sor = sor + 1
                    End If
                Loop
            End Sub
            • A hozzászólás módosításra került: 7 years, 4 months telt el-delila.
            #3273
            spieder
            Felhasználó

              Sziasztok,
              köszi a tippeket, ezek alapján megpróbálom. Régebben VB-ben gyakoroltam, tehát az algoritmus megvan, csak excel formába kell önteni 🙂 és ebben szerintem delila kódja fog segíteni.

              #3274
              delila
              Felhasználó

                Írd meg, ha sikerült összehozni!

                #5719
                spieder
                Felhasználó

                  Szia delila, nem tudom két év után itt vagy-e még, de utólag is nagyon köszi. Tökéletesen működik 🙂

                7 bejegyzés megtekintése - 1-7 / 7
                • Be kell jelentkezni a hozzászóláshoz.