2012-03-29 8 views
1

Я имею Workbook, source.xlsm, Worksheet "test1" Колонка A6: A20, что мне нужно скопировать в другой книге, расположенной на моем C: ... по имени Dest .xlsx, Рабочий лист "Активы", Столбец "I". Мне нужно иметь возможность копировать данные и иметь возможность добавлять их в столбец, не перезаписывая ранее скопированные данные. Любая помощь будет спасателем жизни.Excel VBA скопировать столбец в существующую книгу

Sub Align() 
    Dim TargetSh As String 

    TargetSh = "Assets" 

    For Each WSheet In Application.Worksheets 

     If WSheet.Name <> TargetSh Then 
      WSheet.Select 
      Range("A6:A20").Select 
      Range(Selection, ActiveCell.SpecialCells(xlLastCell)).Select 
      Selection.Copy 
      Sheets(TargetSh).Select 
      lastRow = Range("I65532").End(xlUp).Row 
      Cells(lastRow + 1, 1).Select 
      ActiveSheet.Paste 
     End If 
    Next WSheet 
End Sub 
+0

'Любая помощь будет пожизненный saver' Определенно :) Не могли бы вы показать нам, что вы пробовали? –

+0

Как мне отформатировать код, чтобы он не был сгруппирован? – lPaclMan

+0

вы можете использовать 'и', чтобы окружать коды. Если они все еще не в правильном формате, то один из нас отредактирует его для вас :) –

ответ

1

Это то, что вы пытаетесь? У меня не проверен это, но я думаю, что он должен работать. Дайте мне знать, если вы получите какие-либо ошибки.

Sub Sample_Copy() 
    Dim wb As Workbook, wbTemp As Workbook 
    Dim ws As Worksheet, wsTemp As Worksheet 
    Dim lastRow As Long 

    Set wb = ThisWorkbook 
    Set ws = wb.Sheets("test1") 

    '~~> Change path as applicable 
    Set wbTemp = Workbooks.Open("C:\dest.xlsx") 
    Set wsTemp = wbTemp.Sheets("Assets") 

    lastRow = wsTemp.Range("I" & Rows.Count).End(xlUp).Row + 1 

    ws.Range("A6:A20").Copy wsTemp.Range("I" & lastRow) 

    Application.CutCopyMode = False 

    '~~> Cleanup 
    wbTemp.Close savechanges:=True 
    Set wb = Nothing: Set wbTemp = Nothing 
    Set ws = Nothing: Set wsTemp = Nothing 
End Sub 

НТН

Sid

+0

Абсолютно мастерски. Удивительно, насколько это очевидно, когда вы видите, что это так хорошо написано. – lPaclMan

+0

tsk tsk ... вы льстец! ЛОЛ. Шутки обособленно. Рад помочь :) –

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