Экспорт последнего столбца каждого листа в текстовый файл - PullRequest
2 голосов
/ 23 августа 2011

У меня есть таблица Excel со многими вкладками.Я хотел бы экспортировать последний столбец каждого листа в текстовый файл (все в одном файле, первая строка второго листа должна идти сразу после последней строки первого листа).

Дело в том, что количество столбцов меняется с одного листа на другой.Номер последнего столбца может быть задан последней непустой ячейкой в ​​первой строке.

Я видел, как писать в файл, но я не знаю, как перебирать листы и строки...

Любая помощь приветствуется.Спасибо.

Ответы [ 2 ]

5 голосов
/ 23 августа 2011

Вы можете найти последнюю ячейку в строке, используя этот код:

Sub LastCellInRow()
   Range("IV1").End(xlToLeft).Select
End Sub

Вы можете перебирать все Worsheet, используя коллекцию Worksheets:

Sub LoopThroughSheets() 
    Dim ws As Worksheet 
    For Each ws In ActiveWorkbook.Worksheets 

         '** Perform code here **

    Next ws 
End Sub 
3 голосов
/ 23 августа 2011

Это работает:

Dim r As Range
Dim s As Worksheet
Dim wbSource As Workbook
Dim wbDestination As Workbook
Dim lastcol As Long
Dim lastrow As Long
Dim cumrow As Long
Dim i As Long

Set wbSource = ActiveWorkbook
Set wbDestination = Workbooks.Open("C:\destination.xls")

cumrow = 0
For Each s In wbSource.Worksheets
    lastcol = s.Cells(1, s.Columns.Count).End(xlToLeft).Column
    lastrow = s.Cells(s.Rows.Count, lastcol).End(xlUp).Row
    Set r = s.Cells(1, lastcol).Resize(lastrow, 1) ' This is your column

    ' Copy it to appropriate location on destination sheet
    wbDestination.Sheets(1).Cells(cumrow + 1, 1).Resize(lastrow, 1) = r
    cumrow = cumrow + lastrow
Next s

Выше написано и проверено во время видеоконференции!

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