Nukopijuokite stulpelį ar stulpelius iš kiekvienos darbaknygės 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.

Atminkite, kad „Excel“ turi tik 256 stulpelius

Sub CopyColumn () Dim bazinė knyga kaip darbaknygė Dim mybook kaip darbaknygė Dim sourceRange As Diame 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: \ Duomenys ".SearchSubFolders = False .FileType = msoFileTypeExcelWorkbooks If .Execute ()> 0 Tada Nustatykite basebook = ThisWorkbook cnum = 1 For i = 1 To .FoundFiles.Count Set mybook = Workbooks.Open (.FoundFiles (i)) Set sourceRange = mybook.Worksheets (1). Stulpeliai ("A: B") a = sourceRange.Columns.Count Set destrange = basebook.Worksheets (1) .Cells (1, cnum) sourceRange.Copy destrange mybook.Close cnum = i * a + 1 Kitas i pabaiga Jei baigiasi taikant programą. ScreenUpdating = Tikroji pabaiga Sub Sub CopyColumnValues ​​() Dim bazinė knyga kaip darbaknygė Dim mybook kaip darbaknygė Dim šaltinis Range As Range Dim Dimrange as Range Dim cnum As Integer Dim i As Long Dim a As Integer Application.ScreenUpdating = Netiesa naudojant Application.FileSearch .NewSearch .LookIn = "C: \ Data" .SearchSubFolders = Netiesa .FileType = msoFileTypeExcelWorkbooks Jei .Execute ()> 0 Tada nustatykite basebook = ThisWorkbook cnum = 1 Jei i = 1 To .FoundFiles.Count Set mybook = Workbooks.Open (.FoundFiles (i)) Nustatykite sourceRange = mybook.Worksheets ( 1). Stulpeliai ("A: B") a = sourceRange.Columns.Count With sourceRange Nustatykite destrange = basebook.Worksheets (1). Stulpeliai (cnum). _ Keisti dydį (, .Columns.Count) Pabaiga su destrange.Value = sourceRange.Value mybook.Close cnum = i * a + 1 Kitas i pabaiga, jei baigiasi taikant. ScreenUpdating = Tikroji pabaiga