Помогите с VBA Script - PullRequest
       7

Помогите с VBA Script

0 голосов
/ 18 февраля 2011

Во-первых, я новичок в VBA, но псевдокод того, что я пытаюсь сделать:

 For All open Excel Files
 Copy all values in Colomns A,B, C and D
 Append into Tab 1 of output.xls

Я был бы признателен за некоторые указатели в правильном направлении.

Спасибо

Ответы [ 2 ]

2 голосов
/ 18 февраля 2011

Есть несколько вещей, с которыми вам не поможет запись макроса, например, использование For ... Each для перебора каждого листа в рабочей книге. Вот пример кода, который укажет вам правильное направление. Это будет выполнять итерацию по всем открытым рабочим книгам и копировать содержимое первых четырех столбцов на рабочий лист.

Sub joinAllSheets()
Dim ws As Worksheet
Dim wb As Workbook
Dim wsOutput As Worksheet
Dim lngRowCount As Long
Dim wbSource As Workbook

'create output workbook
Set wsOutput = Application.Workbooks.Add.Sheets(1)
lngRowCount = 1

'Iterate through each open workbook
For Each wb In Application.Workbooks

'if the current workbook is not our output workbook then
If wb.Name <> wsOutput.Name Then
    'iterate through each worksheet
    For Each ws In wb.Worksheets
    'copy the first four columns of the used range in the worksheet
    Application.Intersect(ws.UsedRange, ws.Range("A:D")).Copy _
            Destination:=wsOutput.Cells(lngRowCount, 1)
    'we need to count how many rows there are in the usedrange so we know
    'where to paste into the output worksheet
    lngRowCount = lngRowCount + ws.UsedRange.Rows.Count + 1
    Next ws

End If

Next wb

End Sub
2 голосов
/ 18 февраля 2011

Иногда лучшим способом обучения является запись макроса.

Инструменты> Макросы - выберите запись.

Затем в своей книге выберите столбцы A, B, C, D, а затем CTRL.+ C, затем откройте новый TaB и CTRL + V.

Остановите запись макроса, затем нажмите ALT + F11, чтобы увидеть сгенерированный код, это должно дать вам старт на десять.

Если вам нужна помощь в понимании сгенерированного кода / что он возвращаетмы можем объяснить.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...