Nukopijuokite lapą iš kiekvienos darbaknygės į savo darbaknygę aplanke naudodami „Microsoft Excel“ VBA

Anonim
  • Makrokomandos nukopijuos kiekvieno failo, esančio aplanke C: \ Data, pirmojo darbalapio dalį į pirmąjį jūsų darbaknygės darbalapį.
  • Pirmoji makrokomanda kopijuoja įprastai, o antroji - kopijuoja reikšmes.

Jis nukopijuos pirmąjį kiekvienos darbaknygės lapą į darbaknygę, kurioje yra kodas.
Lapo pavadinimas yra darbaknygės pavadinimas.

Sub CopySheet () Dim bazinė knyga kaip darbaknygė Dim mybook kaip darbaknygė Dim i kaip ilga Application.ScreenUpdating = False With Application.FileSearch .NewSearch .LookIn = "C: \ Data" .SearchSubFolders = False .FileType = msoFileTypeExcelWorkbooks (jei yra) >Exec 0 Tada nustatykite bazinę knygą = 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. Uždaryti Kitas i Pabaiga, jei baigiasi programa. ScreenUpdating = Tikroji pabaiga

Šiam poskyriui (TestFile4_values) turite turėti neapsaugotus darbalapius arba panaikinti jų apsaugą kode.

Sub CopySheetValues ​​() Dim bazinė knyga kaip darbaknygė Dim mybook kaip darbaknygė Dim i kaip ilga programa.ScreenUpdating = Netiesa su Application.FileSearch .NewSearch .LookIn = "C: \ Data" .SearchSubFolders = False .FileType = msoFileTypeExcelWorkbooks (jei ne). 0 Tada nustatykite bazinę knygą = 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 With ActiveSheet.UsedRange .Value = .Value End with mybook.Close Next i End if End with Application.ScreenUpdating = True End Sub