![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 01.08.2010
Сообщений: 19
|
![]()
Здравствуйте!
Ситуация такая - необходимо, чтобы картинки на лист вставлялись в 4 определенных диапазона B4:D14, B16:D26, B28:D38, B40:D50 Для одного диапазона я код вывела с горем пополам, а вот как сделать так, чтобы код распространялся на остальные, не могу сообразить. Зависимость между диапазонами получается такая 12*n - 11, если n - порядковый номер картинки Вот код для кнопки: Sub TestCommandButton1_Click() Dim picToOpen As String picToOpen = Excel.Application.GetOpenFilename(" Bilddateien(*.jpg), *.jpg") If picToOpen <> "" Then CommandButton1_Click picToOpen, _ Range("B4:D14") End Sub Sub CommandButton1_Click(PictureFileNam e As String, TargetCells As Range) ' inserts a picture and resizes it to fit the TargetCells range Dim p As Object, t As Double, l As Double, w As Double, h As Double If TypeName(ActiveSheet) <> "Worksheet" Then Exit Sub If Dir(PictureFileName) = "" Then Exit Sub ' import picture Set p = ActiveSheet.Pictures.Insert(Picture FileName) ' determine positions With TargetCells t = .Top l = .Left w = .Offset(0, .Columns.Count).Left - .Left h = .Offset(.Rows.Count, 0).Top - .Top End With ' position picture With p .Top = t .Left = l .Width = w .Height = h End With Set p = Nothing End Sub Private Sub CommandButton3_Click() Unload Me End Sub Надеюсь на Вашу помощь! |
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 11.05.2010
Сообщений: 5,170
|
![]()
1.Непонятно. Одну картинку сразу в 4 места?
И всёж неплохо пример с кнопками хотя бы приложить, а лучше и с картинками ![]() 2.Или Вы хотите 4 раза открывать картинки, и чтоб они каждый раз вставлялись в разные места? 3.Или Вы хотите сразу выбрать 4 картинки из одной папки, и чтоб их раскидало? Если 2., то: Код:
webmoney: E265281470651 Z422237915069 R418926282008
Последний раз редактировалось Hugo121; 22.08.2010 в 10:27. |
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 01.08.2010
Сообщений: 19
|
![]()
Попробовала ваш код, у меня выдается ошибка. Пишет n not defined в строке с уравнением.
Попытаюсь в картинках пояснить, что я хочу сделать 1.Захожу на лист Popis, нажимаю на commandbutton "В", ![]() 2.На кнопке для выбора картинок нажимаю раскрывающуюся папку ![]() 3.Выбираю нужную картинку. ![]() 4. Повторяю шаг 2. и 3. еще 3 раза 5. Завершаю выбор, нажав "крестик". 6. Таким образом я выбираю 4 разных картинки, которые должны встать затем на свои места, т.е. заданные диапазоны. ![]() Прилагаю файл Excel. Последний раз редактировалось eclat; 22.08.2010 в 16:06. |
![]() |
![]() |
![]() |
#4 |
Старожил
Регистрация: 11.05.2010
Сообщений: 5,170
|
![]()
Да, работа проведена большая
![]() Ну а я особо ничего не менял, только диапазон чуть подвинул - в первом примере был другой. Не стал прикладывать файл, уж больно здоровый... Замените в коде формы всё сверху до Sub CommandButton1_Click(PictureFileNam e As String, TargetCells As Range) на Код:
P.S. А вот кстати и сделал, вот это прикладываю, там ещё немного типы переменных изменились. Выбирайте сразу 4 фотки, вроде в порядке выбора размещает.
webmoney: E265281470651 Z422237915069 R418926282008
Последний раз редактировалось Hugo121; 22.08.2010 в 20:23. Причина: Добавил V.1.3 |
![]() |
![]() |
![]() |
#5 |
Пользователь
Регистрация: 01.08.2010
Сообщений: 19
|
![]()
Работает! Спасибо огромное!
Вот еще вопрос. Допустим если я захочу начать применять код с другой ячейки, например не с B4, а с В10, но с той же зависимостью диапазонов. Что я должна поменять в коде? Последний раз редактировалось eclat; 22.08.2010 в 20:14. |
![]() |
![]() |
![]() |
#6 |
Пользователь
Регистрация: 01.08.2010
Сообщений: 19
|
![]()
Уже сама разобралась, спасибо еще раз!
![]() |
![]() |
![]() |
![]() |
#7 |
Старожил
Регистрация: 11.05.2010
Сообщений: 5,170
|
![]()
Гляньте выше, я там мультивыбор добавил. Да, и тогда Public ind As Long уже не надо, можно в форму перетащить. - уже спохватился, передумал. Оставить публичной, что можно было и по одной, а затем по две, затем опять по одной тянуть.
webmoney: E265281470651 Z422237915069 R418926282008
Последний раз редактировалось Hugo121; 22.08.2010 в 20:58. |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как обойти "преобразование типа из "string" в "float" невозможно" | lexluter1988 | Помощь студентам | 1 | 07.08.2010 12:23 |
Как убрать Надпись "Код"? | Милана666 | БД в Delphi | 3 | 20.05.2010 11:24 |
"ОКРВВЕРХ", "ОКР", "ЕСЛИ". Как бы их связать. | Каравай | Microsoft Office Excel | 13 | 17.02.2010 09:53 |
при вводе на листе "магазин"- код товара появлялось "описание" товара из "склада" с "продажной ценой" | aleksei78 | Microsoft Office Excel | 13 | 25.08.2009 12:04 |
Переход по "ячейкам" матрицы | LiaBerk | Помощь студентам | 0 | 13.06.2009 15:29 |