Сбор данных Excel 2007 - PullRequest
       4

Сбор данных Excel 2007

1 голос
/ 23 августа 2009

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

1 Ответ

2 голосов
/ 23 августа 2009

Вы можете использовать следующие VBA:

Dim WriteCell as Range
Set WriteCell = Sheets("New Sheet").Range("A2")

Dim MySheet as Worksheet
For Each MySheet In ThisWorkbook.Worksheets
    If MySheet.Range("B2").Value <> "" Then
        WriteCell.Value = MySheet.Range("B2").Value
        WriteCell.Offset(0, -1).Value = MySheet.Name
        Set WriteCell = WriteCell.Offset(1,0)
    End If
Next

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

Workbooks.Open File:= "C:\MyBook.xlsx"
For Each MySheet in ActiveWorkbook.Worksheets

Это будет просто выполнять итерацию по всем рабочим листам, тестировать это значение и создавать рабочий лист с именем рабочего листа и значением ячейки в виде столбцов.

...