Kombinera flera arbetsblad till ett

Anonim

I den här artikeln kommer vi att lära oss hur man samlar data från olika arbetsböcker via VBA i Microsoft Excel.

Låt oss förstå med en enkel övning hur man slår ihop kalkylblad via VBA i Microsoft Excel.

Vi har tre olika Excel -filer. 2 filer är till xlsx och en fil är till xlsm i en mapp. Vi vill samla båda datauppsättningarna i Excel -filen för att komma ihåg att i varje data kan rader och kolumner öka och minska, och vi vet inte heller Excel -filnamnen och hur många filer som finns i en mapp .

I det här bladet vill vi kombinera data:-

1st Data:-

2nd Data:-

3rd Data:-

Nu vill vi samla data i ett ark. Vi måste följa nedanstående steg och kod:-

  • Tryck på tangenten Alt+F11 för att öppna VBE -sidan för att skriva makrot.
  • Gå sedan till infoga fliken och sätt in en modul.
  • Skriv nedan nämnda kod på sidan.

Sub Collate_Data ()

Dim FolderpathAs String, filePath As String, Filename As String

Folderpath = "E: \ Excel Tips \ Nya VBA -ämnen \ HR Data \" ‘(nämn filsökvägen)

filePath = Folderpath & "*xls*"

Filnamn = Dir (filePath)

Dim LastrowSom Long, Lastcolumn As Long
Gör medan filnamn ""

Workbooks.Open (mappväg och filnamn)

Lastrow = ActiveSheet.Cells (Rows.count, 1) .End (xlUp) .Row

Lastcolumn = ActiveSheet.Cells (1, Columns.count) .End (xlToLeft) .Column

Område (celler (2, 1), celler (sista rad, sista kolumn)). Kopiera

Application.DisplayAlerts = Falskt

ActiveWorkbook.Close

erow = Sheet1.Cells (Rows.count, 1) .End (xlUp) .Offset (1, 0) .Row

ActiveSheet.Paste Destination: = Worksheets ("Sheet1"). Range (Cells (erow, 1), Cells (erow, 5))

Filnamn = Dir

Slinga

Application.DisplayAlerts = True

Avsluta Sub

Kodförklaring: - För det första kommer vi att definiera alla variabler som vi behöver använda när vi beskriver koden. Sedan kommer vi att använda Do While loop in code för att köra programmet för alla Excel -filer. Sedan kommer vi att definiera sökvägen för filer, och efter det kommer vi att definiera den sista raden och kolumnen i Excel -blad och sedan kommer vi att definiera destinationen för att klistra in data.

  • För att köra makrot, tryck på knappen F5.
  • Data för båda arken kommer att kopieras och klistras in i ett Excel -ark.

Detta är hur vi kan samla in data i ett blad från olika Excel -filer via VBA i Microsoft Excel.