Kopeerige veerg või veerud igast töövihikust kausta, kasutades Microsoft Excelis VBA -d

Anonim
  • Makro kopeerib osa iga faili esimesest töölehest, mis asub kaustas C: \ Data, teie töövihiku esimesele töölehele.
  • Esimene makro teeb tavalise koopia ja teine ​​makro kopeerib väärtused.

Pidage meeles, et Excelil on ainult 256 veergu

Sub CopyColumn () Dim baasvihik töövihikuna Dim mybook kui töövihik Dim allikasRange As Range Dim dimrange As Range Dim cnum As Integer Dim i As Long Dim a As Integer Application.ScreenUpdating = False With Application.FileSearch .NewSearch .LookIn = "C: \ " mybook.Worksheets (1). Column ("A: B") a = sourceRange.Columns.Count Set destrange = basebook.Worksheets (1) .Cells (1, cnum) sourceRange.Copy destrange mybook.Close cnum = i * a + 1 Järgmine i lõpp, kui rakendus lõpeb. ScreenSpdating = Tõeline lõpp Sub alamkoopia CopyColumnValues ​​() Dim põhiraamat kui töövihik Dim dimbook kui töövihik Dim dim sourceRange As Range Dim dimrange As Range Dim cnum As Integer Dim i As Long Dim a as Integer Application. ScreenUpdating = Vale Application.FileSearch .NewSearch .LookIn = "C: \ Data" .SearchSubFolders = Vale .FileType = msoFileTypeExcelWorkbooks Kui .Execute ()> 0 Seejärel määrake põhiraamat = ThisWorkbook cnum = 1 For i = 1 To .FoundFiles.Count Set mybook = Workbooks.Open (.FoundFiles (i)) Set sourceRange = mybook.Worksheets ( 1) .Veerud ("A: B") a = sourceRange.Columns.Count With sourceRange Set destrange = basebook.Worksheets (1) .Column (cnum). _ Suuruse muutmine (.