Создать, назвать и заполнить новую книгу данными - PullRequest
0 голосов
/ 25 марта 2011

У меня есть лист Excel с двумя столбцами данных. В столбце A указаны нужные имена новых книг, а в соседней ячейке столбца B содержатся данные, которые мне нужны в новой книге.

Таким образом, если 032411 находится в столбце A, а 50 - в столбце B, то макрос создаст новую книгу с именем 032411, а 50 окажется в ячейке A1 этой книги.

1 Ответ

2 голосов
/ 25 марта 2011

Вы можете использовать это:

Sub CreateBooks()

    Dim oCell As Excel.Range
    Dim oWorkbook As Excel.Workbook

    'Added to avoid messages asking to confirm overwriting
    '   previous existent files with same name

    Application.DisplayAlerts = False

    For Each oCell In Range("A:A")

        If oCell.Value = "" Then Exit For

        Set oWorkbook = Workbooks.Add

        oWorkbook.Sheets(1).Cells(1, 1).Value = oCell.Offset(0, 1).Value

        'If the cell value contains only the file name (instead of the whole path
        '   the file needs to be saved) it will save into MyDocuments folder
        oWorkbook.Close True, oCell.Value

    Next oCell

    Application.DisplayAlerts = True

End Sub

Если у вас есть несколько файлов для генерации, вы также можете использовать application.ScreenUpdating = False.

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