Гость
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Исправить макрос / 3 сообщений из 3, страница 1 из 1
17.01.2016, 15:29
    #39149079
Eemil
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Исправить макрос
Здравствуйте, уважаемые. Выкладываю книгу в которой первый лист это общая таблица, а второй шаблон. Макрос работает таким образом, копирует из общей таблицы конкретные ячейки ОДНОЙ строки в конкретные ячейки шаблона (в книге эти ячейки выделены желтым цветом) и создает столько листов сколько строк в общей табл. Нужно чтобы в этот же шаблон копировались еще и ячейки со второй строки, из тех же столбцов (то есть так же как и первая строка). Только место вставки этих ячеек в шаблоне выделено зеленым цветом (суть такая же как и для первой строки).

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
Sub my1()
    Dim r As Long
    Dim wb As Workbook, wb1 As Workbook, sFT As Worksheet
    Set wb = ThisWorkbook
    Set sFT = wb.Sheets("FT")
    Application.ScreenUpdating = False
    Application.Calculation = xlCalculationManual
    On Error GoTo erHdl
    For r = 3 To sFT.Cells(sFT.Rows.Count, 1).End(xlUp).Row
        wb.Sheets("Шаблон").Copy after:=wb1.Sheets(wb1.Sheets.Count)
shRdy:  With wb1.Sheets(wb1.Sheets.Count)
            .Name = Left(sFT.Cells(r, 1), 31)
            .Range("C15").Formula = "=" & sFT.Cells(r, 1).Address(external:=True)
            .Range("D15").Formula = "=" & sFT.Cells(r, 23).Address(external:=True)
            .Range("G15").Formula = "=" & sFT.Cells(r, 3).Address(external:=True)
            .Range("H15").Formula = "=" & sFT.Cells(r, 4).Address(external:=True)
            .Range("H16").Formula = "=" & sFT.Cells(r, 5).Address(external:=True)
            .Range("H17").Formula = "=" & sFT.Cells(r, 6).Address(external:=True)
            .Range("H18").Formula = "=" & sFT.Cells(r, 7).Address(external:=True)
            .Range("I15").Formula = "=" & sFT.Cells(r, 8).Address(external:=True)
            .Range("I16").Formula = "=" & sFT.Cells(r, 9).Address(external:=True)
            .Range("I17").Formula = "=" & sFT.Cells(r, 10).Address(external:=True)
            .Range("I18").Formula = "=" & sFT.Cells(r, 11).Address(external:=True)
            .Range("J16").Formula = "=" & sFT.Cells(r, 16).Address(external:=True)
            .Range("K16").Formula = "=" & sFT.Cells(r, 17).Address(external:=True)
            .Range("L15").Formula = "=" & sFT.Cells(r, 12).Address(external:=True)
            .Range("L16").Formula = "=" & sFT.Cells(r, 13).Address(external:=True)
            .Range("L17").Formula = "=" & sFT.Cells(r, 14).Address(external:=True)
            .Range("L18").Formula = "=" & sFT.Cells(r, 15).Address(external:=True)
            .Range("G26").Formula = "=" & sFT.Cells(r, 27).Address(external:=True)
        End With
    Next r
MsgBox "Готово"
GoTo fin

erHdl:
  If Err.Number = 91 Then 'Object variable or With block variable not set
    wb.Sheets("Шаблон").Copy
    Set wb1 = ActiveWorkbook
    Resume shRdy
  End If
  MsgBox "Непредвиденная ошибка" & Err.Number & vbLf & Err.Description, vbCritical

fin:
  Application.ScreenUpdating = True
  Application.Calculation = xlCalculationAutomatic
End Sub


Модератор: Учимся использовать тэги оформления кода - FAQ
...
Рейтинг: 0 / 0
17.01.2016, 15:33
    #39149080
Eemil
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Исправить макрос
Точнее будет так - из общей таблицы третью строку я обозвал как "первая", соответственно четвертую как "вторая"
...
Рейтинг: 0 / 0
17.01.2016, 17:45
    #39149122
Казанский
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Исправить макрос
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Исправить макрос / 3 сообщений из 3, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]