Изображение в качестве фона ячейки
The_Immortal
Дата: Воскресенье, 18.08.2013, 01:38 |
Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 24
Репутация:
0
±
Замечаний:
0% ±
Excel 2010
Всех приветствую! Имеется макрос, который формирует из заданного списка товаров ценники по заданному шаблону. Хотелось бы поместить в шаблон (внутрь любой из ячеек шаблона) изображение таким образом, чтобы на выходе оно присутствовало во всех выводимых экземплярах ценников. Быть может, кто-нибудь сможет помочь... Буду очень благодарен! Макрос прилагаю. P.S. Формирование ценников происходит по нажатию кнопки "Создать ценники" на листе "Настройка и создание ценников".
Всех приветствую! Имеется макрос, который формирует из заданного списка товаров ценники по заданному шаблону. Хотелось бы поместить в шаблон (внутрь любой из ячеек шаблона) изображение таким образом, чтобы на выходе оно присутствовало во всех выводимых экземплярах ценников. Быть может, кто-нибудь сможет помочь... Буду очень благодарен! Макрос прилагаю. P.S. Формирование ценников происходит по нажатию кнопки "Создать ценники" на листе "Настройка и создание ценников". The_Immortal
Ответить
Сообщение Всех приветствую! Имеется макрос, который формирует из заданного списка товаров ценники по заданному шаблону. Хотелось бы поместить в шаблон (внутрь любой из ячеек шаблона) изображение таким образом, чтобы на выходе оно присутствовало во всех выводимых экземплярах ценников. Быть может, кто-нибудь сможет помочь... Буду очень благодарен! Макрос прилагаю. P.S. Формирование ценников происходит по нажатию кнопки "Создать ценники" на листе "Настройка и создание ценников". Автор - The_Immortal Дата добавления - 18.08.2013 в 01:38
KuklP
Дата: Воскресенье, 18.08.2013, 10:21 |
Сообщение № 2
Группа: Проверенные
Ранг: Старожил
Сообщений: 2369
Репутация:
486
±
Замечаний:
0% ±
2003-2010
И где в файле изображение?
И где в файле изображение? KuklP
Ну с НДС и мы чего-то стoим! kuklp60@gmail.com WM Z206653985942, R334086032478, U238399322728
Ответить
Сообщение И где в файле изображение? Автор - KuklP Дата добавления - 18.08.2013 в 10:21
The_Immortal
Дата: Понедельник, 19.08.2013, 18:10 |
Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 24
Репутация:
0
±
Замечаний:
0% ±
Excel 2010
KuklP, пардон. Прикрепил изображение к файлу.
Ответить
Сообщение KuklP, пардон. Прикрепил изображение к файлу. Автор - The_Immortal Дата добавления - 19.08.2013 в 18:10
KuklP
Дата: Понедельник, 19.08.2013, 19:25 |
Сообщение № 4
Группа: Проверенные
Ранг: Старожил
Сообщений: 2369
Репутация:
486
±
Замечаний:
0% ±
2003-2010
В Вашем коде рыться дело неблагодарное, поэтому сделал отдельной процедурой. В случае чего и легче править будет: [vba]Код
Sub www() Dim o As Object, c As Range, f$, sh As Worksheet Set sh = ActiveSheet Sheets("Настройка и создание ценников").DrawingObjects("ShapeWasInDrawField1").Copy With sh.UsedRange Set c = .Find("Наименование вашей организации", LookIn:=xlValues) If Not c Is Nothing Then f = c.Address Do sh.Paste Set o = Selection: o.Top = c(4).Top o.Left = c(4).Left: Set c = .FindNext(c) Loop While Not c Is Nothing And c.Address <> f End If End With End Sub
[/vba]
В Вашем коде рыться дело неблагодарное, поэтому сделал отдельной процедурой. В случае чего и легче править будет: [vba]Код
Sub www() Dim o As Object, c As Range, f$, sh As Worksheet Set sh = ActiveSheet Sheets("Настройка и создание ценников").DrawingObjects("ShapeWasInDrawField1").Copy With sh.UsedRange Set c = .Find("Наименование вашей организации", LookIn:=xlValues) If Not c Is Nothing Then f = c.Address Do sh.Paste Set o = Selection: o.Top = c(4).Top o.Left = c(4).Left: Set c = .FindNext(c) Loop While Not c Is Nothing And c.Address <> f End If End With End Sub
[/vba] KuklP
Ну с НДС и мы чего-то стoим! kuklp60@gmail.com WM Z206653985942, R334086032478, U238399322728
Ответить
Сообщение В Вашем коде рыться дело неблагодарное, поэтому сделал отдельной процедурой. В случае чего и легче править будет: [vba]Код
Sub www() Dim o As Object, c As Range, f$, sh As Worksheet Set sh = ActiveSheet Sheets("Настройка и создание ценников").DrawingObjects("ShapeWasInDrawField1").Copy With sh.UsedRange Set c = .Find("Наименование вашей организации", LookIn:=xlValues) If Not c Is Nothing Then f = c.Address Do sh.Paste Set o = Selection: o.Top = c(4).Top o.Left = c(4).Left: Set c = .FindNext(c) Loop While Not c Is Nothing And c.Address <> f End If End With End Sub
[/vba] Автор - KuklP Дата добавления - 19.08.2013 в 19:25
The_Immortal
Дата: Вторник, 20.08.2013, 12:35 |
Сообщение № 5
Группа: Пользователи
Ранг: Новичок
Сообщений: 24
Репутация:
0
±
Замечаний:
0% ±
Excel 2010
KuklP, большое Вам спасибо! Однако хотел бы поинтересоваться насчет позиционирования рисунка. Меняя значение "4" в строке [vba]Код
Set o = Selection: o.Top = c(4).Top
[/vba], рисунок смещается по оси Y. А вот изменяя значение здесь: [vba]Код
o.Left = c(4).Left: Set c = .FindNext(c)
[/vba] - смещения по оси X не происходит Не подскажите почему?
KuklP, большое Вам спасибо! Однако хотел бы поинтересоваться насчет позиционирования рисунка. Меняя значение "4" в строке [vba]Код
Set o = Selection: o.Top = c(4).Top
[/vba], рисунок смещается по оси Y. А вот изменяя значение здесь: [vba]Код
o.Left = c(4).Left: Set c = .FindNext(c)
[/vba] - смещения по оси X не происходит Не подскажите почему? The_Immortal
Ответить
Сообщение KuklP, большое Вам спасибо! Однако хотел бы поинтересоваться насчет позиционирования рисунка. Меняя значение "4" в строке [vba]Код
Set o = Selection: o.Top = c(4).Top
[/vba], рисунок смещается по оси Y. А вот изменяя значение здесь: [vba]Код
o.Left = c(4).Left: Set c = .FindNext(c)
[/vba] - смещения по оси X не происходит Не подскажите почему? Автор - The_Immortal Дата добавления - 20.08.2013 в 12:35
KuklP
Дата: Вторник, 20.08.2013, 16:42 |
Сообщение № 6
Группа: Проверенные
Ранг: Старожил
Сообщений: 2369
Репутация:
486
±
Замечаний:
0% ±
2003-2010
c(4), это то же, что и c.offset(3,0). Чтобы сместить ячейку еще и вправо, например на 4 столбца надо это указывать: c.offset(3,4) или c(4,5).
c(4), это то же, что и c.offset(3,0). Чтобы сместить ячейку еще и вправо, например на 4 столбца надо это указывать: c.offset(3,4) или c(4,5). KuklP
Ну с НДС и мы чего-то стoим! kuklp60@gmail.com WM Z206653985942, R334086032478, U238399322728
Ответить
Сообщение c(4), это то же, что и c.offset(3,0). Чтобы сместить ячейку еще и вправо, например на 4 столбца надо это указывать: c.offset(3,4) или c(4,5). Автор - KuklP Дата добавления - 20.08.2013 в 16:42
The_Immortal
Дата: Вторник, 20.08.2013, 19:16 |
Сообщение № 7
Группа: Пользователи
Ранг: Новичок
Сообщений: 24
Репутация:
0
±
Замечаний:
0% ±
Excel 2010
KuklP, хм... А мне надо смещать картинку внутри ячейки... Т.е., скажем, на середину ячейки или же к правому краю ячейки. Это возможно? P.S. В идеале, конечно, хотелось бы, чтобы изображение находилось на точно таком же месте, как и в шаблоне.
KuklP, хм... А мне надо смещать картинку внутри ячейки... Т.е., скажем, на середину ячейки или же к правому краю ячейки. Это возможно? P.S. В идеале, конечно, хотелось бы, чтобы изображение находилось на точно таком же месте, как и в шаблоне. The_Immortal
Сообщение отредактировал The_Immortal - Вторник, 20.08.2013, 19:19
Ответить
Сообщение KuklP, хм... А мне надо смещать картинку внутри ячейки... Т.е., скажем, на середину ячейки или же к правому краю ячейки. Это возможно? P.S. В идеале, конечно, хотелось бы, чтобы изображение находилось на точно таком же месте, как и в шаблоне. Автор - The_Immortal Дата добавления - 20.08.2013 в 19:16
RAN
Дата: Вторник, 20.08.2013, 19:49 |
Сообщение № 8
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Во-во! И смещайте. И не надо пытаться вставить в другую ячейку. "Они сами не знают, чего хочут." (с) А ежели знают, то ото всех усиленно скрывают. P.S. В идеале, конечно, хотелось бы, чтобы изображение находилось на точно таком же месте, как и в шаблоне.
А вот этого места я и не увидел. И, думаю, Сережа тоже!
Во-во! И смещайте. И не надо пытаться вставить в другую ячейку. "Они сами не знают, чего хочут." (с) А ежели знают, то ото всех усиленно скрывают. P.S. В идеале, конечно, хотелось бы, чтобы изображение находилось на точно таком же месте, как и в шаблоне.
А вот этого места я и не увидел. И, думаю, Сережа тоже! RAN
Быть или не быть, вот в чем загвоздка!
Ответить
Сообщение Во-во! И смещайте. И не надо пытаться вставить в другую ячейку. "Они сами не знают, чего хочут." (с) А ежели знают, то ото всех усиленно скрывают. P.S. В идеале, конечно, хотелось бы, чтобы изображение находилось на точно таком же месте, как и в шаблоне.
А вот этого места я и не увидел. И, думаю, Сережа тоже! Автор - RAN Дата добавления - 20.08.2013 в 19:49
The_Immortal
Дата: Вторник, 20.08.2013, 20:04 |
Сообщение № 9
Группа: Пользователи
Ранг: Новичок
Сообщений: 24
Репутация:
0
±
Замечаний:
0% ±
Excel 2010
RAN, И смещайте. И не надо пытаться вставить в другую ячейку.
Offset'ом? Не пойму как... Смещение происходит на определенное кол-во столбцов от столбца с шаблоном
RAN, И смещайте. И не надо пытаться вставить в другую ячейку.
Offset'ом? Не пойму как... Смещение происходит на определенное кол-во столбцов от столбца с шаблоном The_Immortal
Ответить
Сообщение RAN, И смещайте. И не надо пытаться вставить в другую ячейку.
Offset'ом? Не пойму как... Смещение происходит на определенное кол-во столбцов от столбца с шаблоном Автор - The_Immortal Дата добавления - 20.08.2013 в 20:04
RAN
Дата: Вторник, 20.08.2013, 21:53 |
Сообщение № 10
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Тупой вариант для экспериментаторов [vba]Код
o.Left = c(4).Left +25
[/vba]
Тупой вариант для экспериментаторов [vba]Код
o.Left = c(4).Left +25
[/vba] RAN
Быть или не быть, вот в чем загвоздка!
Ответить
Сообщение Тупой вариант для экспериментаторов [vba]Код
o.Left = c(4).Left +25
[/vba] Автор - RAN Дата добавления - 20.08.2013 в 21:53