Kopioi riviltä viimeiselle riville tiedot yhdelle arkille käyttämällä Microsoft Excelin VBA: ta

Anonim
  • Makro lisää työkirjaasi taulukon, jonka nimi on Master, ja kopioi tämän työkirjan työkirjasi jokaisen arkin solut.
  • Ensimmäinen makro kopioi normaalisti ja toinen makro kopioi arvot.
  • Makron alit käyttävät alla olevia toimintoja, makro ei toimi ilman toimintoja.
Sub CopyFromRow () Dim sh kuten laskentataulukko Dim DestSh kuin laskentataulukko Dim shLast Niin kauan himmeä niin kauan kuin SheetExists ("Master") = True Sitten MsgBox "Arkin päällikkö on jo olemassa" Exit Sub End if Application.ScreenUpdating = False Set DestSh = Worksheets.Add DestSh.Name = "Master" Jokaiselle sh: lle tässä työkirjassa.Worksheets Jos sh.Name DestSh.Name then If sh.UsedRange.Count> 1 Sitten Last = LastRow (DestSh) shLast = LastRow (sh) sh.Range ( sh.Rows (3), sh.Rows (shLast)). Copy DestSh.Cells (Last + 1, 1) End If End, jos seuraava sovellus. Dim shLast Niin kauan himmeä niin kauan, jos SheetExists ("Master") = True Sitten MsgBox "Arkki Master on jo olemassa" Exit Sub End If Application.ScreenUpdating = False Set DestSh = Worksheets.Add DestSh.Name = "Master" Jokaiselle sh Tässä työkirjassa. sh.Rows (shLast)) DestSh.Cells (Viimeinen + 1, 1) .Muuta kokoa (.Rows.Count, _ .Columns.Count) .Arvo = .Arvo päättyy End Jos End If Next Application.ScreenUpdating = True End Sub Toiminto LastRow (sh laskentataulukkona) On Error Jatka Seuraava LastRow = sh.Cells.Find (What: = "*", _ After: = sh.Range ("A1"), _ Lookat: = xlPart, _ LookIn: = xlFormulas , _ SearchOrder: = xlByRows, _ SearchDirection: = xlAikaisempi, _ MatchCase: = False). *", _ Jälkeen: = sh.Range (" A1 "), _ Lookat: = xlPart, _ LookIn: = xlFormulas, _ SearchOrder: = xlByColumns, _ SearchDirection: = xlEdellinen, _ MatchCase: = False). GoTo 0 Lopetustoiminto ToimintataulukkoExists (SName as String, _ Optional ByVal WB as Workbook) Boolean On Error Jatka seuraavaksi, jos WB ei ole mitään Aseta WB = ThisWorkbook SheetExists = CBool ​​(Len (Sheets (SName) .Name)) End Function