În acest articol, vom învăța cum să asamblați datele din diferite registre de lucru prin VBA în Microsoft Excel.
Să înțelegem cu un exercițiu simplu cum să îmbinați foaia de calcul prin VBA în Microsoft Excel.
Avem 3 fișiere Excel diferite. 2 fișiere sunt în xlsx și un fișier este în xlsm într-un folder. Vrem să strângem ambele seturi de date în fișierul Excel pentru a ține cont de câteva lucruri, că în fiecare dată, rândurile și coloanele pot fi mărite și micșorate și, de asemenea, nu știm numele fișierelor Excel și câte fișiere există într-un folder .
În această foaie, dorim să combinăm datele: -
1Sf Date:-
2nd Date:-
3rd Date:-
Acum, vrem să strângem datele într-o foaie. Trebuie să urmăm pașii și codul de mai jos: -
- Apăsați tasta Alt + F11 pentru a deschide pagina VBE pentru a scrie macro-ul.
- Apoi accesați fila de inserare și introduceți un modul.
- Scrieți mai jos codul menționat în pagină.
Sub Collate_Data ()
Dim FolderpathAs String, filePath As String, Filename As String
Folderpath = "E: \ Sfaturi Excel \ Subiecte VBA noi \ HR Data \" ‘(menționați calea fișierului)
filePath = Folderpath & "* xls *"
Numele fișierului = Dir (filePath)
Dim LastrowCât de lung, ultima coloană atât de lungă
Faceți în timp ce numele fișierului ""
Cărți de lucru.Open (Folderpath & Filename)
Lastrow = ActiveSheet.Cells (Rows.count, 1). End (xlUp) .Row
Lastcolumn = ActiveSheet.Cells (1, Columns.count) .End (xlToLeft) .Column
Gama (celule (2, 1), celule (Lastrow, Lastcolumn)). Copiere
Application.DisplayAlerts = Fals
ActiveWorkbook.Închide
erow = Sheet1.Cells (Rows.count, 1). End (xlUp). Offset (1, 0) .Row
ActiveSheet.Paste Destinație: = Foi de lucru ("Sheet1"). Interval (celule (erow, 1), celule (erow, 5))
Numele fișierului = Dir
Buclă
Application.DisplayAlerts = Adevărat
Sfârșitul Sub
Explicația codului: - În primul rând, vom defini toate variabilele pe care trebuie să le folosim în timp ce descriem codul. Apoi vom folosi codul Do While loop pentru a rula programul pentru toate fișierele Excel. Apoi vom defini calea fișierelor și, după aceea, vom defini ultimul rând și coloană din foaia Excel și apoi vom defini destinația pentru a lipi datele.
- Pentru a rula macro-ul, apăsați tasta F5.
- Datele ambelor foi vor fi copiate și lipite într-o foaie Excel.
Acesta este modul în care putem colecta datele într-o foaie din diferite fișiere Excel prin VBA în Microsoft Excel.