Eu tenho 5 pessoas que mantêm seus próprios arquivos do Excel. Todos os arquivos têm uma aba que me interessa com a mesma estrutura de dados (colunas) e mais 20.000 linhas cada. Eu preciso puxar essa guia de cada folha, e não de quaisquer outras guias que elas possam ter, para uma planilha mestre.
Para fazer isso, criei uma pasta de trabalho mestre e adicionei um link de dados a cada uma das pastas de trabalho individuais e criei uma guia para extrair os dados desejados das pastas de trabalho individuais. Em seguida, uso o script VBA abaixo para criar uma guia principal que combina todos os dados das minhas guias criadas. Se isso importa, todos esses arquivos são hospedados como documentos no SharePoint.
Sub Master()
Dim J As Integer
On Error Resume Next
Sheets(1).Select
Worksheets.Add
Sheets(1).Name = "Master"
Sheets(2).Activate
Range("A1").EntireRow.Select
Selection.Copy Destination:=Sheets(1).Range("A1")
For J = 2 To Sheets.Count
Sheets(J).Activate
Range("A1").Select
Selection.CurrentRegion.Select
Selection.Offset(1, 0).Resize(Selection.Rows.Count - 1).Select
Selection.Copy Destination:=Sheets(1).Range("A65536").End(xlUp)(2)
Next
End Sub
Minha pergunta é dupla.
Primeiro, existe uma maneira melhor de fazer isso com menor sobrecarga? Temos 40 colunas e mais de 100.000 linhas, então a folha se move em um ritmo de caracóis e trava regularmente. (estamos construindo uma solução não-excel, mas precisamos que isso funcione até que isso seja feito)
Em segundo lugar, existe uma maneira de editar o script acima para 1. Continuar a atualizar a Planilha criada? E 2. excluir guias específicas na minha planilha, como as chamadas reports
e dashboard
?