Kopeerige rida või read 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.
Sub CopyRow () Dim baasvihik töövihikuna Dim mybook kui töövihik Dim sourceLange As Range Dim destrange As Range Dim rnum As Long Dim i As Long Dim as As Long Application.ScreenUpdating = False With Application.FileSearch .NewSearch .LookIn = "C: \ " mybook.Worksheets (1) .Rows ("3: 5") a = sourceRange.Rows.Count Set destrange = basebook.Worksheets (1). Lahtrid (rnum, 1) sourceRange.Copy destrange mybook.Close rnum = i * a + 1 Järgmine i lõpp, kui rakendus lõpeb. ScreenSpdating = Tõeline lõpp Alam alamkopeerimine CopyRowValues ​​() Dim põhiraamat kui töövihik Dim dimbook kui töövihik Dim allikas Range As Range Dim dimrange As Range Dim rnum As Long Dim i As Long Dim a Long Application. = Vale Application.FileSearch .NewSearch .LookIn = "C: \ Data" .SearchSubFolders = Vale .FileType = msoFi leTypeExcelWorkbooks If .Execute ()> 0 Set Set basebook = ThisWorkbook rnum = 1 For i = 1 To .FoundFiles.Count Set mybook = Workbooks.Open (.FoundFiles (i)) Set sourceRange = mybook.Worksheets (1). Rows ( "3: 5") a = sourceRange.Rows.Count Koos sourceRange Määrake destrange = basebook.Worksheets (1). Lahtrid (rnum, 1). _ Suuruse muutmine (.Rows.Count, .Columns.Count) Lõpeb destrange.Value = sourceRange.Value mybook.Close rnum = i * a + 1 Järgmine i End if Application With End.ScreenUpdating = True End Sub