Skopírujte riadok alebo riadky každého listu do jedného listu pomocou jazyka VBA v programe Microsoft Excel

Anonim
  • Makro pridá do vášho zošita list s názvom Hlavný a skopíruje bunky z každého listu vo vašom zošite v tomto pracovnom hárku.
  • Prvé makro urobí normálnu kópiu a druhé makro skopíruje hodnoty.
  • Substránky makier používajú nižšie uvedené funkcie, makrá bez nich nebudú fungovať.

Použite tento riadok sh.Row („1: 4“). Kopírovaním skopírujete viac ako jeden riadok.

Vedľajší test4 () Dim sh ako pracovný hárok Dim DestSh ako pracovný hárok Dim Last tak dlho, ak SheetExists ("Master") = True Then MsgBox "Master sheet already exist" Exit Sub End If Application.ScreenUpdating = False Set DestSh = Worksheets.Add DestSh .Name = "Master" pre každý sh In ThisWorkbook.Worksheets If sh.Name DestSh.Name Then If sh.UsedRange.Count> 1 Then Last = LastRow (DestSh) sh.Rows ("1"). Copy DestSh.Cells ( Last + 1, 1) End If End If Next Application.ScreenUpdating = True End Sub Sub Test4_Values ​​() Dim sh As Worksheet Dim DestSh As Worksheet Dim Last As Long If SheetExists ("Master") = True Then MsgBox "The sheet Master already existovať "Ukončiť Sub End If Application.ScreenUpdating = False Set DestSh = Worksheets.Add DestSh.Name =" Master "For each sh In ThisWorkbook.Worksheets If sh.Name DestSh.Name Then If sh.UsedRange.Count> 1 Then Last = LastRow (DestSh) With sh.Rows ("1") DestSh.Cells (Last + 1, 1) .Resize (.Rows.Count, _ .Columns.Count) .Value = .Value End With End If End If Next Application .Scree nUpdating = Podradená funkcia True End LastRow (hárok ako pracovný list) Pri chybe Pokračovať Ďalej LastRow = sh.Cells.Find (Čo: = "*", _ po: = sh.Range ("A1"), _ Lookat: = xlPart, _ LookIn: = xlFormulas, _ SearchOrder: = xlByRows, _ SearchDirection: = xlPrevious, _ MatchCase: = False). Row On Error GoTo 0 End Function Function Lastcol (sh As worksheet) On Error Resume Next Lastcol = sh.Cells.Find (What: = "*", _ After: = sh.Range ("A1"), _ Lookat: = xlPart, _ LookIn: = xlFormulas, _ SearchOrder: = xlByColumns, _ SearchDirection: = xlPrevious, _ MatchCase: = False ). Stĺpec pri chybe GoTo 0 Koniec Funkcia Funkcia SheetExists (SName ako reťazec, _ voliteľný ByVal WB ako zošit) Ako booleovský pri chybe Pokračovať ďalej Ak WB nie je nič, potom nastavte WB = ThisWorkbook SheetExists = CBool ​​(Len (listy (SName) .Name) )) Koniec funkcie