Zkopírujte řádek nebo řádky každého listu na jeden list pomocí VBA v aplikaci Microsoft Excel

Anonim
  • Makro přidá do sešitu list s názvem Hlavní a zkopíruje buňky z každého listu ve vašem sešitu v tomto listu.
  • První makro provede normální kopírování a druhé makro zkopíruje hodnoty.
  • Subwoody makra používají níže uvedené funkce, makra bez těchto funkcí nebudou fungovat.

Použijte toto sh.Rows („1: 4“). Kopírováním zkopírujete více než jeden řádek.

Dílčí test4 () Dim sh jako pracovní list Dim DestSh jako pracovní list Dim poslední tak dlouho, pokud SheetExists („Master“) = True Then MsgBox „Master of sheet already exist“ Exit Sub End If Application.ScreenUpdating = False Set DestSh = Worksheets.Add DestSh .Name = "Master" Pro 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 existovat "Exit 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 .Srážka nUpdating = True End Sub Funkce LastRow (sh As list) Při chybě Pokračovat Další LastRow = sh.Cells.Find (Co: = "*", _ Po: = sh.Range ("A1"), _ Lookat: = xlPart, _ LookIn: = xlFormulas, _ SearchOrder: = xlByRows, _ SearchDirection: = xlPrevious, _ MatchCase: = False). Řádek při chybě GoTo 0 Konec Funkce Funkce Lastcol (sh As list) Při chybě Pokračovat Další Lastcol = sh.Cells.Find (What: = "*", _ After: = sh.Range ("A1"), _ Lookat: = xlPart, _ LookIn: = xlFormulas, _ SearchOrder: = xlByColumns, _ SearchDirection: = xlPrevious, _ MatchCase: = False ). Sloupec při chybě GoTo 0 Konec Funkce Funkce SheetExists (SName jako řetězec, _ Volitelný ByVal WB jako sešit) Jako Boolean Při chybě Pokračovat Další Pokud WB není nic, pak nastavte WB = ThisWorkbook SheetExists = CBool ​​(Len (Sheets (SName) .Name )) Koncová funkce