Страницы: 1
RSS
Автоматическая печать, с определенной пометкой
 
Доброго времени суток, уважаемые господа.
Прошу Вас помочь с макросом.
Есть реестр работников со своими данными(лист1).
Необходима автоматическая печать по шаблону в листе2, с автоматическим поставлением данных работника в лист2, при отметке напротив работника в листе1 символом "п".
Спасибо.  
 
Цитата
kjkskjks написал:
при отметке напротив работника в листе1 символом "п".
и где эта "п" на Лист1 ?
Все остальное, судя по примеру, легко решается с помощью ВПР().
Кроме автоматической печати - это только макросы.
 
Дак я ведь и прошу помочь с макросом.
С впр я разобрался.  
 
Цитата
Михаил Витальевич С. написал:
и где эта "п" на Лист1
Предположим, что в столбце "Е" :) Тогда можно примерно так:
Код
Sub Напечатать()
    Dim i&, j&
    Worksheets("Лист2").Range("A:B").ClearContents
    j = 1
For i = 2 To Cells(Rows.Count, 1).End(xlUp).Row
  If Worksheets("Лист1").Cells(i, 5).Value = "п" Then
     With Worksheets("Лист2")
         .Cells(j, 1).Value = "Ф.И.О."
         .Cells(j, 2).Value = Worksheets("Лист1").Cells(i, 2).Value
         .Cells(j + 1, 1).Value = "Дата рождения:"
         .Cells(j + 1, 2).Value = Worksheets("Лист1").Cells(i, 3).Value
         .Cells(j + 2, 1).Value = "Адрес по месту жительства:"
         .Cells(j + 2, 2).Value = Worksheets("Лист1").Cells(i, 4).Value
         .Range("B:B").HorizontalAlignment = xlLeft
     End With
         j = j + 4
  End If
Next i
    Worksheets("Лист2").PrintOut Copies:=1
End Sub
 
Цитата
_Igor_61 написал:
Предположим, что в столбце "Е"  Тогда можно примерно так:
Игорь, спасибо за помощь,
Почитал немного в интернет, сделал макрос но он мне печатает все подряд.
Код
Sub АвтоПечать()
For i = 1 To 3
    Range("I1").Select
    ActiveCell.FormulaR1C1 = i
    Range("I1").Select
    
    ActiveWindow.SelectedSheets.PrintOut From:=1, To:=1, Copies:=1, Collate:=True, IgnorePrintAreas:=False    
Next

' Dim H1 As Long
' With Sheets ("Лист2")
'     For Hi=2 To Cells(Rows.Count,1).End(x1Up).Row
'         .Range("M2").Value = Cells(Hi, 1)
'         .Calculate
End Sub
Объединить у меня два макроса не получилось, прошу помочь.

Необходимо чтобы при написании в столбце C буквы "П" (лист1), подставлялась в ячейку I (лист2) порядковый номер где стоит буква "П"
и печаталось автоматически шаблон с листа 2.
в листе 2 меняется только цифра, остальные данные меняются с помощью ВПР.  
Изменено: ViAgro - 01.05.2020 22:33:43
 
Как-то непонятно задача описана...    Если правильно понял, то в модуль листа:
Код
Private Sub Worksheet_Change(ByVal Target As Range)
   Dim r&
   r = Target.Row
If Target.Cells.Count > 1 Then Exit Sub
If Not Intersect(Target, Range("C4:C100")) Is Nothing Then
  If Worksheets("Лист1").Cells(r, 3).Value = "п" Then
     Worksheets("Лист2").Cells(1, 9).Value = Worksheets("Лист1").Cells(r, 1).Value
     Worksheets("Лист2").PrintOut Copies:=1
  End If
End If
End Sub
И оформите в предыдущем сообщении код  (в режиме редактирования выделите код и нажмите на панели значок  <...>), а то и Вы и я от модераторов нагоняй получим
 
_Igor_61, Игорь, спасибо  
Изменено: ViAgro - 02.05.2020 11:48:39
Страницы: 1
Наверх