Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Изображение в качестве фона ячейки - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Изображение в качестве фона ячейки
The_Immortal Дата: Воскресенье, 18.08.2013, 01:38 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 24
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Всех приветствую!

Имеется макрос, который формирует из заданного списка товаров ценники по заданному шаблону.

Хотелось бы поместить в шаблон (внутрь любой из ячеек шаблона) изображение таким образом, чтобы на выходе оно присутствовало во всех выводимых экземплярах ценников.

Быть может, кто-нибудь сможет помочь... Буду очень благодарен!

Макрос прилагаю.

P.S. Формирование ценников происходит по нажатию кнопки "Создать ценники" на листе "Настройка и создание ценников".
К сообщению приложен файл: 0717733.xls (88.5 Kb)
 
Ответить
СообщениеВсех приветствую!

Имеется макрос, который формирует из заданного списка товаров ценники по заданному шаблону.

Хотелось бы поместить в шаблон (внутрь любой из ячеек шаблона) изображение таким образом, чтобы на выходе оно присутствовало во всех выводимых экземплярах ценников.

Быть может, кто-нибудь сможет помочь... Буду очень благодарен!

Макрос прилагаю.

P.S. Формирование ценников происходит по нажатию кнопки "Создать ценники" на листе "Настройка и создание ценников".

Автор - The_Immortal
Дата добавления - 18.08.2013 в 01:38
KuklP Дата: Воскресенье, 18.08.2013, 10:21 | Сообщение № 2
Группа: Проверенные
Ранг: Старожил
Сообщений: 2369
Репутация: 486 ±
Замечаний: 0% ±

2003-2010
И где в файле изображение?


Ну с НДС и мы чего-то ст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, пардон. Прикрепил изображение к файлу.
К сообщению приложен файл: 1233813.rar (75.4 Kb)
 
Ответить
Сообщение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]
К сообщению приложен файл: 0085590.rar (76.6 Kb)


Ну с НДС и мы чего-то ст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
Дата добавления - 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).


Ну с НДС и мы чего-то ст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. В идеале, конечно, хотелось бы, чтобы изображение находилось на точно таком же месте, как и в шаблоне.


Сообщение отредактировал 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
Репутация: 1163 ±
Замечаний: 0% ±

2010
хм...

Во-во!
И смещайте. И не надо пытаться вставить в другую ячейку.

"Они сами не знают, чего хочут." (с)

А ежели знают, то ото всех усиленно скрывают.

P.S. В идеале, конечно, хотелось бы, чтобы изображение находилось на точно таком же месте, как и в шаблоне.


А вот этого места я и не увидел. И, думаю, Сережа тоже! <_<


Быть или не быть, вот в чем загвоздка!
 
Ответить
Сообщение
хм...

Во-во!
И смещайте. И не надо пытаться вставить в другую ячейку.

"Они сами не знают, чего хочут." (с)

А ежели знают, то ото всех усиленно скрывают.

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
Дата добавления - 20.08.2013 в 20:04
RAN Дата: Вторник, 20.08.2013, 21:53 | Сообщение № 10
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
Тупой вариант для экспериментаторов
[vba]
Код
o.Left = c(4).Left +25
[/vba]


Быть или не быть, вот в чем загвоздка!
 
Ответить
СообщениеТупой вариант для экспериментаторов
[vba]
Код
o.Left = c(4).Left +25
[/vba]

Автор - RAN
Дата добавления - 20.08.2013 в 21:53
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!