Страницы: 1
RSS
Вставить подпись и печать макросом
 
У меня подготовлены и вставлены в лист печать и подпись, мне нужно чтобы они вставлялись макросом, как это сделать?
Изменено: Ибрагим Белхороев - 26.07.2021 11:02:36
 
снесите с листа и подпись и печать
включите макрорекордер, вставьте руками - получите требуемый вам макрос
удачи!
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Ігор Гончаренко, я делал запись макроса, но он потом ссылается на ошибку.
 
Ибрагим Белхороев, вариант в лоб с доп.листом
Код
Sub Макрос3()
Application.ScreenUpdating = False
    Dim sh As Worksheet, cell As Range
    Set sh = ActiveSheet
    Sheets("Печать").Select
    ActiveSheet.Shapes.Range(Array("Group 1")).Select
    Selection.Copy
    sh.Select
    Set cell = sh.Range("A:L").Find("Генеральный директор*")
    If Not cell Is Nothing Then
        sh.Cells(cell.Row - 1, cell.Column + 3).Select
        ActiveSheet.Paste
    End If
Application.ScreenUpdating = True
End Sub

Изменено: Mershik - 08.06.2021 15:19:15
Не бойтесь совершенства. Вам его не достичь.
 
Mershik, мне нужно чтобы он вставлялся точно как в примере.
 
Ибрагим Белхороев, а сейчас что не так? (Файл выше)
у меня вставляется ровно так же как и у вас - запускаете макрос на нужном листе
Изменено: Mershik - 08.06.2021 15:19:25
Не бойтесь совершенства. Вам его не достичь.
 
Mershik, Вот смотрите.
Изменено: Ибрагим Белхороев - 26.07.2021 11:02:51
 
Ибрагим Белхороев, и?) что не так я просил зачем мне Ваши картинки? или сложно написать что конкретно
Изменено: Mershik - 08.06.2021 16:20:42
Не бойтесь совершенства. Вам его не достичь.
 
нет, уж посмотрите (Mershik, не ужели не видно, что это отношение к форуму в целом и каждому отдельному помогающему в частности?)
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Mershik, я вам скинул скрин, чтобы наглядно показать как мне нужно.
 
Ігор Гончаренко, согласен, поэтому практически 90% тем  автора прохожу мимо)
Изменено: Mershik - 08.06.2021 16:26:52
Не бойтесь совершенства. Вам его не достичь.
 
Ігор Гончаренко, я благодарен всем, кто мне помогал и помогает, я просто хотел, чтобы меня лучше поняли.
 
Цитата
Ибрагим Белхороев написал:
понятнее
https://www.excel-vba.ru/chto-umeet-excel/vstavit-kartinku-v-list-po-spisku-ili-vyboru-iz-yachejki/
Код
Sub пп()
    'путь к папке с картинками 
    Const sPicsPath As String = "C:\Users\.....\"
    Dim sPicName As String, sPFName As String, sSpName As String
    Dim oShp As Shape
    Dim zoom As Double
    Application.ScreenUpdating = False
    Dim sh As Worksheet, cell As Range
    Set sh = ActiveSheet
        Set cell = sh.Range("A:L").Find("Генеральный директор*")
    sPicName = "1.png" 'ИМЯ ВАШЕЙ ПОДПИСИ И ПЕЧАТИ
    'если имя картинки не задано
    If sPicName = "" Then
        Exit Sub
    End If
    'проверяем наличие картинки в папке
    sPFName = sPicsPath & sPicName
    If Dir(sPFName, 16) = "" Then
        Exit Sub
    End If
    'в эту ячейку вставляем картинку
    If Not cell Is Nothing Then
    With sh.Cells(cell.Row - 1, cell.Column + 3)
        On Error Resume Next
        'задаем картинке уникальный адрес,
        'привязанный к адресу ячейки
        sSpName = "_" & .Address(0, 0) & "_autopaste"
        'если картинка уже есть - удаляем её
        Set oShp = ActiveSheet.Shapes(sSpName)
        If Not oShp Is Nothing Then
            oShp.Delete
        End If
        'вставляем выбранную картинку
        Set oShp = ActiveSheet.Shapes.AddPicture(sPFName, False, True, .Left + 1, .Top + 1, -1, -1)
        'определяем размеры картинки в зависимости от размера ячейки
        zoom = Application.Min(.Width / oShp.Width, .Height / oShp.Height)
        'переименовываем вставленную картинку(чтобы потом можно было заменить)
        oShp.Name = sSpName
    End With
    End If
Application.ScreenUpdating = True
End Sub
Изменено: Mershik - 08.06.2021 17:04:57
Не бойтесь совершенства. Вам его не достичь.
 
Mershik, не знаете почему при другой печати этот код ссылается на ошибку?
Изменено: Ибрагим Белхороев - 26.07.2021 11:04:09
 
Ибрагим Белхороев, вы серьезно? откуда ему брать печать? если она сделана на доп.листе который называется ПЕЧАТЬ и которого у Вас нет...
выше дал вам ссылку и по ней сделал вам макрос - там вам нужно заменить путь откуда брать печать и название файла.

удачи
Изменено: Mershik - 08.06.2021 17:07:06
Не бойтесь совершенства. Вам его не достичь.
 
Ибрагим, ну Вы хоть маленько начинайте вникать в макросы, а не просто тупо их копируйте,
не прилагая никаких усилий для того, чтобы понять производимые в макросе действия...
Цитата
Ибрагим Белхороев написал:
не знаете почему при другой печати этот код ссылается на ошибку?
На эту, да? :
Код
Sheets("Печать").Select
    ActiveSheet.Shapes.Range(Array("Group 1")).Select
Не подскажете, где в Вашем файле Sheets("Печать")? :)
 
Mershik, спасибо вам.

_Igor_61, извините, я не заметил.
Изменено: vikttur - 09.06.2021 13:01:59
Страницы: 1
Наверх