Kopioi jokaisen taulukon rivi tai rivit yhdeksi taulukkoksi Microsoft Excelin VBA: n avulla

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.

Käytä tätä sh.Rows ("1: 4"). Kopioi kopioidaksesi enemmän kuin yksi rivi.

Sub Test4 () Dim sh kuin laskentataulukko Dim DestSh kuin laskentataulukko Dim Viimeinen niin kauan, jos 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 sholle tässä työkirjassa. Viimeinen + 1, 1) Lopeta, jos loppuu, jos seuraava sovellus.ScreenUpdating = Todellinen loppu alitesti4_Values ​​() Dim sh laskentataulukkona Dim DestSh kuin laskentataulukko Dim Viimeinen niin kauan, jos SheetExists ("Master") = True Sitten MsgBox "Arkki Master jo olemassa "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) .Arvo = .Arvo Lopeta End Jos End If Next Application .Scree nUpdating = Todellinen loppu alitoiminto LastRow (sh laskentataulukkona) Virheessä Jatka Seuraava Viimeinen rivi = sh.Cells.Find (Mitä: = "*", _ Jälkeen: = sh.Range ("A1"), _ Lookat: = xlPart, _ LookIn: = xlFormulas, _ SearchOrder: = xlByRows, _ SearchDirection: = xlPrevious, _ MatchCase: = False). (What: = "*", _ After: = sh.Range ("A1"), _ Lookat: = xlPart, _ LookIn: = xlFormulas, _ SearchOrder: = xlByColumns, _ SearchDirection: = xlEdellinen, _ MatchCase: = False Sarake Virhe GoTo 0 Lopeta Toiminto ToimintataulukkoExists (SName as String, _ Optional ByVal WB as Workbook) Boolean On Error Jatka seuraavaksi, jos WB ei ole mitään sitten Aseta WB = ThisWorkbook SheetExists = CBool ​​(Len (Sheets (SName) .Name) )) Lopeta toiminto