Здравствуйте, господа! В одно форуме увидел "Видимо, я что-то делаю делаю не так, но по-другому не умею". Это про меня) Дано: лист "картинки", где в первом столбце - артикул товара (около 1000 позиций), во втором столбце - в каждую ячейку вставлена картинка. на листе "КП", второй столбец - пользователь указывает артикул, и макрос должен по нажатию на кнопку находить соответствующую картинку на листе "картинки" , копировать ее и вставлять в ячейку столбца №7 листа "КП". Вот что у меня вышло: [vba]
Код
Sub Photo() Dim i As Integer i = 1 If Not IsEmpty(Sheets("КП").Cells(ActiveCell.Row, 2)) Then 'проверка, чтобы в ячейка с артикулами в соответствующей строчке не было пусто Do i = i + 1 Loop Until Sheets("картинки").Cells(i, 1) = Sheets("КП").Cells(ActiveCell.Row, 2) Or i = 1100 ' поиск номера строки, содержащей искомый артикул Sheets("картинки").Cells(i, 2).Copy 'копирование ячейки (содержащей картинку) Sheets("КП").ActiveCell.Paste ' вставка ячейки с картинкой в активную ячейку End If End Sub
[/vba]
Что же не так? Почему не работает? Заранее спасибо!
Здравствуйте, господа! В одно форуме увидел "Видимо, я что-то делаю делаю не так, но по-другому не умею". Это про меня) Дано: лист "картинки", где в первом столбце - артикул товара (около 1000 позиций), во втором столбце - в каждую ячейку вставлена картинка. на листе "КП", второй столбец - пользователь указывает артикул, и макрос должен по нажатию на кнопку находить соответствующую картинку на листе "картинки" , копировать ее и вставлять в ячейку столбца №7 листа "КП". Вот что у меня вышло: [vba]
Код
Sub Photo() Dim i As Integer i = 1 If Not IsEmpty(Sheets("КП").Cells(ActiveCell.Row, 2)) Then 'проверка, чтобы в ячейка с артикулами в соответствующей строчке не было пусто Do i = i + 1 Loop Until Sheets("картинки").Cells(i, 1) = Sheets("КП").Cells(ActiveCell.Row, 2) Or i = 1100 ' поиск номера строки, содержащей искомый артикул Sheets("картинки").Cells(i, 2).Copy 'копирование ячейки (содержащей картинку) Sheets("КП").ActiveCell.Paste ' вставка ячейки с картинкой в активную ячейку End If End Sub
[/vba]
Что же не так? Почему не работает? Заранее спасибо!mbesurich
Сегодня получил от производителя архив со всеми картинками. Каждая названа артиклем. И теперь, намного лучше если бы макрос искал в папке картинку с определенным артиклем (артикул берется из столбца 2, строки активной ячейки листа "КП") и вставлял в активную ячейку листа "КП". Видел на форумах предлагают купить такую программу, но покупать не хочется)
Я это виду так: [vba]
Код
Sub photo_from_foler() Dim i As String i = "C:\Users\User\Desktop\" & Cells(ActiveCell.Row, 2).Value & ".jpg" i = путь к картинке + название картинки + тип картинки If Not IsEmpty(Sheets("КП").Cells(ActiveCell.Row, 2)) Then ' проверка наличия артикля в соответствующей ячейке ActiveSheet.Pictures.Insert("i").Select 'вставка картинки в активную ячейку End If End Sub
[/vba] Возможно написать такой макрос, или это высшая математика?)
Сегодня получил от производителя архив со всеми картинками. Каждая названа артиклем. И теперь, намного лучше если бы макрос искал в папке картинку с определенным артиклем (артикул берется из столбца 2, строки активной ячейки листа "КП") и вставлял в активную ячейку листа "КП". Видел на форумах предлагают купить такую программу, но покупать не хочется)
Я это виду так: [vba]
Код
Sub photo_from_foler() Dim i As String i = "C:\Users\User\Desktop\" & Cells(ActiveCell.Row, 2).Value & ".jpg" i = путь к картинке + название картинки + тип картинки If Not IsEmpty(Sheets("КП").Cells(ActiveCell.Row, 2)) Then ' проверка наличия артикля в соответствующей ячейке ActiveSheet.Pictures.Insert("i").Select 'вставка картинки в активную ячейку End If End Sub
[/vba] Возможно написать такой макрос, или это высшая математика?)mbesurich
Сообщение отредактировал SLAVICK - Пятница, 06.04.2018, 08:59
Sub photo_from_foler() Dim i As String i = "C:\Users\User\Desktop\" & Cells(ActiveCell.Row, 2).Value & ".jpg" # i = путь к картинке + название картинки + тип картинки If Not IsEmpty(Sheets("КП").Cells(ActiveCell.Row, 2)) Then # проверка наличия артикля в соответствующей ячейке ActiveSheet.Pictures.Insert("i").Select #вставка картинки в активную ячейку End If End Sub
Sub photo_from_foler() Dim i As String i = "C:\Users\User\Desktop\" & Cells(ActiveCell.Row, 2).Value & ".jpg" # i = путь к картинке + название картинки + тип картинки If Not IsEmpty(Sheets("КП").Cells(ActiveCell.Row, 2)) Then # проверка наличия артикля в соответствующей ячейке ActiveSheet.Pictures.Insert("i").Select #вставка картинки в активную ячейку End If End Sub