Kopeerige leht igast töövihikust oma töövihikusse 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.

See kopeerib iga töövihiku esimese lehe töövihikusse, kus kood on.
Lehe nimi on töövihiku nimi.

Sub CopySheet () Dim baasraamat Töövihikuna Dim mybook kui töövihik Dim i Long Application.ScreenUpdating = False With Application.FileSearch .NewSearch .LookIn = "C: \ Data" .SearchSubFolders = False .FileType = msoFileTypeExcelWorkbooks If> Exx 0 Seejärel määrake basebook = ThisWorkbook For i = 1 To .FoundFiles.Count Set mybook = Workbooks.Open (.FoundFiles (i)) mybook.Worksheets (1). Copy after: = _ basebook.Sheets (basebook.Sheets.Count) ActiveSheet.Name = mybook.Name mybook.Sulge Next i End if End with Application.ScreenUpdating = True End Sub

Selle alamosa (TestFile4_values) jaoks peavad teil olema kaitsmata töölehed või eemaldage need koodist.

Sub CopySheetValues ​​() Dim põhiraamat töövihikuna Dim mybook kui töövihik Dim i Long Application.ScreenUpdating = False With Application.FileSearch .NewSearch .LookIn = "C: \ Data" .SearchSubFolders = False .FileType = msoFileTypeExcelTöövihikud () 0 Seejärel määrake basebook = ThisWorkbook For i = 1 To .FoundFiles.Count Set mybook = Workbooks.Open (.FoundFiles (i)) mybook.Worksheets (1). Copy after: = _ basebook.Sheets (basebook.Sheets.Count) ActiveSheet.Name = mybook.Name ActiveSheet.UsedRange .Value = .Value End with mybook.Close Next i End if End With Application.ScreenUpdating = True End Sub