2016-04-24 19 views
2

Я новичок в VBA. Я искал часы, но безрезультатно :(Скопируйте определенные столбцы из нескольких листов в один

У меня 12 листов, которые состоят из столбцов AT. Я хотел скопировать и объединить столбцы C и T из каждого из 12 листов в одну книгу «Резюме», используя макрос. Может кто-нибудь мне помочь? Спасибо заранее.

Sub Create_Summary() 

Application.DisplayAlerts = False 
On Error Resume Next 

Application.DisplayAlerts = True 
n = Application.Worksheets.Count 

Sheets("Summary").Move after:=Worksheets(Worksheets.Count) 

Dim sh As Worksheet 
For Each sh In ActiveWorkbook.Worksheets 
    If sh.Name <> "Summary" Then 
    Set col = Columns(Columns.Count).End(xlToLeft) 
     Set col = Columns(Columns.Count).End(xlToLeft) 
     sh.Range("C:C,T:T").Copy Destination:=Sheets("Summary").Range(col,col) 
    End If 

Next sh 

End Sub 

этот экземпляр C и T столбцов из последнего листа, в то время как другие просто C без T.

+0

Вы пытались записать макрос? – OldUgly

+0

Пожалуйста, покажите нам, что вы попробовали до сих пор. –

+0

Я добавил код, надеюсь, вы сможете помочь. – znf96

ответ

1

попробовать этот

Option Explicit 

Sub Create_Summary() 
Dim sh As Worksheet, sumSht As Worksheet 
Dim i As Long 

Set sumSht = Sheets("Summary") 
sumSht.Move after:=Worksheets(Worksheets.Count) 

For i = 1 To Worksheets.Count - 1 ' once you moved "Summary" sheet as the workbook last one, you skip it by limiting loop to the penultimate sheets index 
    Worksheets(i).Range("C:C,T:T").Copy Destination:=sumSht.Cells(1, sumSht.Columns.Count).End(xlToLeft).Offset(, 1) ' qualify all destination references to "Summary" sheet 
Next i 
sumSht.Columns(1).Delete ' "Summary" sheet first column gest skipped by the above loop, so delete it 

End Sub 

прокомментировано так, что вы можете следить за ним и делать свои изменения

+0

большое вам спасибо! его рабочий :) – znf96

+0

добро пожаловать. Если я выполнил ваш вопрос, отметьте ответ как принятый. Спасибо – user3598756

 Смежные вопросы

  • Нет связанных вопросов^_^