Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
Вставка изображения в соответствии со значением ячейки
 
Код
Sub StartMain()
 Call DeleteButton
 Call SelectionPhoto
End Sub

Sub DeleteButton()
  Dim figa As Shape
  For Each figa In ActiveSheet.Shapes
  If Not Intersect(Range(figa.BottomRightCell.Address), Range("Z5:AE16")) Is Nothing Then   'диапазон ячеек где находиться картинка
  figa.Delete
  End If
  Next
End Sub

Sub SelectionPhoto()
 Dim r As String
 r = Sheets("Карта" ;) .Cells(1, 32).Value
 Sheets("Карта" ;) .Pictures.Insert("C:\Users\Google Диск\Baza\Photobaza\" & r & ".jpg" ;) .Select
 Selection.Left = Columns("Z" ;) .Left
 Selection.Top = Rows(5).Top
 With Selection
 .Top = 55
 .Left = 480
 .Width = 50
 .Height = 160
 End With
End Sub


Не вопрос
Изменено: Cipariz - 04.03.2014 16:29:10
Вставка изображения в соответствии со значением ячейки
 
Цитата
ts-79 пишет: Вариант с SelectionPhoto() в этом виде приведет к катастрофическому увеличению размера файла,...
Я вышел из положения следующим образом, на кнопке висит несколько макросов, первый чистит фотки, второй вставляет.
Вставка изображения в соответствии со значением ячейки
 
А ссылкой у меня тоже проблема появилась, изначально документы выложил в гугл диск, и дал доступ другим, а фото на других компах не вставляет, так как в ссылке присутствует разное название компьютеров, например: "C:\Users1 или 2 или 3\Google Диск\PhotoBaza\" & r & ".jpg"/

Вариант:
Цитата
Kuzmich пишет: ФормаВводаПользовательскихДанных.rar
не совсем удобен когда файл размещен в папке с большим количесвом фотографий. Хотя они и находяться в паралелльных папках: Google Диск\PhotoBaza и Google Диск\Baza.
Вставка изображения в соответствии со значением ячейки
 
Код
Sub SelectionPhoto() 
  Dim r As String 
  r = Sheets("Êàðòà" ) .Cells(1, 32).Value 
  Sheets("Êàðòà" ) .Pictures.Insert("C:\Users\PhotoBaza\" & r & ".jpg" ) .Select 
  Selection.Left = Columns("Z" ) .Left 
  Selection.Top = Rows(5).Top 
  With Selection 
    .Top = 55 
    .Left = 480 
    .Width = 50 
    .Height = 160 
  End With 
End Sub


Виноват, справлюсь)
Вставка изображения в соответствии со значением ячейки
 
Работает, с размерами тоже экспериментирую)))
Вставка изображения в соответствии со значением ячейки
 
Игорь, с одной стороны проще, но проблема в том, что я делаю. а другие по сети пользуются - и надстройку надо ставить всем, и следить за этим. А хочеться уходить в отпуск и чтоб меня не тревожили)
Вставка изображения в соответствии со значением ячейки
 
Цитата
Антон пишет: Запишите обыкновенный макрос вставки картинки с диска макрорекодером. Затем измените путь и все.
Микрорекордером не получается правильно задать условное название переменной, а именно: \Photobaza\" & a1 & ".jpg"  ;)  
Цитата
ts-79 пишет: Попробуйте прием описанный тут. По-моему Вам должно подойти.
Такой вариант смотрел, не то что нужно (количество более 500 шт.).
на данный момент пришел к новому макросу, но не работает, пишет что требуется объект. В силу своей неграмотности, что-то не то написал. Может подскажите:
Код
Sub SelectionPhoto()
If Target.Address = "$AF$1" Then
    ActiveSheet.Pictures.Insert("C:\Users\\Photobaza\" & Target.Value).Select
    Selection.Left = Columns("Z".Left
    Selection.Top = Rows(5).Top
End If
End Sub
Вставка изображения в соответствии со значением ячейки
 
Добрый день Великие!
Столкнулся с проблемой: Данные в файле формируются посредством ВПР из разных баз. Единственное с чем не получается - это изображение.
Действие происходит следующим образом: в ячейку "K1" вписывается ФИО человека, по этому ФИО данные собираются с разных мест. Есть папка с изображениями "C:\System32\Picture\Avatar\", где названия фото соответствуют ФИО людей.
Мне необходимо чтобы фото тоже подтягивалось из папки в ячейку "I5" (или диапазон ячеек) - оптимально по ширине или высоте ячейки (выравнивание по левому краю).
Перерыв интернет нашел только такую формулу, но в ней разобраться полностью не могу:
Код
Sub Vstavka_Kartinok() 
Sheets("Лист1").Select 
x = 1 
Range("A1").Select 
While Sheets("Лист1").Cells(x, 2).Text <> "" 
x = x + 1 
Wend 
x = x - 1 
For i = 2 To x 
kartinka = Sheets("Лист1").Cells(i, 2).Value 
Range("E" & CStr(i)).Select 
Dim SR As ShapeRange 

ActiveSheet.Pictures.Insert("C:\1\" & CStr(kartinka) & ".jpg").Select 
'Set SR = Selection.ShapeRange 

[B]Selection.ShapeRange.Left = 200 
Selection.ShapeRange.Top = 100 * (i - 2)[/B] 

Selection.ShapeRange.LockAspectRatio = msoFalse 
Selection.ShapeRange.Height = 152.2 
Selection.ShapeRange.Width = 183.75 
Selection.ShapeRange.Rotation = 0# 
Selection.ShapeRange.ScaleHeight 0.8, msoFalse, msoScaleFromTopLeft 
Next i 
MsgBox ("Изображение загружено") 
End Sub 

Sub InsertShapeNode() 
ActiveSheet.Shapes(1).Select 
With Selection.ShapeRange 
If .Type = msoFreeform Then 
.Nodes.Insert _ 
Index:=3, SegmentType:=msoSegmentCurve, _ 
EditingType:=msoEditingSymmetric, X1:=35, Y1:=100 
.Fill.ForeColor.RGB = RGB(0, 0, 200) 
.Fill.Visible = msoTrue 
Else 
MsgBox "This shape is not a Freeform object." 
End If 
End With 
End Sub
Помогите гуманитарию, если сталкивались с такой проблемой!
Страницы: 1
Наверх