VBA Makro kopírování položek z více listů do jednoho

Programy pro práci v kanceláři (Word, Excel, Access…=>Office)

Moderátor: Mods_senior

dvbuser
nováček
Příspěvky: 1
Registrován: srpen 14
Pohlaví: Muž
Stav:
Offline

VBA Makro kopírování položek z více listů do jednoho

Příspěvekod dvbuser » 23 srp 2014 07:41

Dobrý den,
rád bych požádal o pomoc z makrem, které by po spuštění na listu "seznam" (tlačítkem), prohledalo všechny listy ("data" až "dataX") v daném souboru a vložilo všechny položky u kterých jsou zadané počty kusů (sloupec G) do seznamu pod sebe. Pro lepší pochopení přikládám soubor, který již makro obsahuje, toto makro funguje pouze při spuštění na určitém listu ale nejsem schopný ho upravit tak aby procházelo všechny listy.
Děkuju za jakoukoli radu či nápad.

Kód: Vybrat vše

Sub vkladani_polozek()
Sheets("seznam").Range("a4:g250").ClearContents
    poc = 0
    For i = 4 To 1000
            If Cells(i, 7).Value <> "" Then
            'cteni z ceniku
            kod = Cells(i, 1)
            nazev = Cells(i, 2)
            cena = Cells(i, 5)
            ks = Cells(i, 7)
            'zapis do seznamu
            Sheets("seznam").Cells(4 + poc, 1) = kod
            Sheets("seznam").Cells(4 + poc, 2) = nazev
            Sheets("seznam").Cells(4 + poc, 3) = cena
            Sheets("seznam").Cells(4 + poc, 4) = ks
           
            poc = poc + 1
       
        End If
       
        Next
End Sub
Přílohy
seznam_polozek_test.xlsx
(17.25 KiB) Staženo 106 x

Reklama
cmuch
Level 4.5
Level 4.5
Příspěvky: 1547
Registrován: březen 11
Bydliště: Drsná Vysočina :D
Pohlaví: Muž
Stav:
Offline

Re: VBA Makro kopírování položek z více listů do jednoho

Příspěvekod cmuch » 23 srp 2014 10:43

Toto makro vlož na list "seznam" a pak ho přiřaď tomu tlačítku

Kód: Vybrat vše

Sub vkladani_polozek()
  Dim Sh As Worksheet
  Dim i As Integer, poc As Integer

  Application.ScreenUpdating = False
 
  Sheets("seznam").Range("a4:g" & Cells(Rows.Count, "A").End(xlUp).Row + 1).ClearContents
  poc = 0
   
  For Each Sh In Worksheets
    With Sh
      If .Name Like "data*" Then
        For i = 4 To .Cells(.Rows.Count, "A").End(xlUp).Row
          If .Cells(i, 7).Value <> "" Then
            'zapis do seznamu
            Sheets("seznam").Cells(4 + poc, 1) = .Cells(i, 1) 'kod
            Sheets("seznam").Cells(4 + poc, 2) = .Cells(i, 2) 'nazev
            Sheets("seznam").Cells(4 + poc, 3) = .Cells(i, 5) 'cena
            Sheets("seznam").Cells(4 + poc, 4) = .Cells(i, 7) 'ks
           
            poc = poc + 1
          End If
        Next
      End If
    End With
  Next
 
  Application.ScreenUpdating = True
End Sub

guest
Pohlaví: Nespecifikováno

Re: VBA Makro kopírování položek z více listů do jednoho

Příspěvekod guest » 26 srp 2014 14:36

K zamyšlení: V případě jasně definovaného poštu listů přistupovat k listům databázově (dotaz bude obsahovat UNION ALL a test pro sloupec G).


  • Mohlo by vás zajímat
    Odpovědi
    Zobrazení
    Poslední příspěvek
  • ComboBox v Excelu kopírování Příloha(y)
    od LukM » 19 říj 2024 14:03 » v Kancelářské balíky
    0
    2667
    od LukM Zobrazit poslední příspěvek
    19 říj 2024 14:03
  • více ssd na desku asrock b450 pro4 Příloha(y)
    od bugicek7lpCZ » 03 lis 2024 16:43 » v Rady s výběrem hw a sestavením PC
    3
    1482
    od MrVoltz Zobrazit poslední příspěvek
    05 lis 2024 08:17
  • Je potřeba 16 nebo 20 a více VRAM ve hrách?
    od p3v4x » 20 črc 2024 23:06 » v Problémy s hardwarem
    2
    2680
    od p3v4x Zobrazit poslední příspěvek
    21 črc 2024 18:39
  • Canon pixma ts5150 w11 nelze tisknout vice kopii na stranku Příloha(y)
    od mrpcz » 20 kvě 2025 07:09 » v Vše ostatní (hw)
    4
    2384
    od petr22 Zobrazit poslední příspěvek
    20 kvě 2025 13:30

Zpět na “Kancelářské balíky”

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 6 hostů