Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.11.2013, 19:47   #1
Евгений Таб
Форумчанин
 
Аватар для Евгений Таб
 
Регистрация: 09.08.2013
Сообщений: 202
По умолчанию Замена определенного значения на картинку(VBA)

Прошу помощи!

Дано:

Макрос который вставляет картинку в определенный диапазон с настройкой масштаба IMG.

Вопрос:

Нужно чтобы картинка вставала (точнее ее верхний левый угол) в ячейку в которой имеется текстовое значение, например "Путин", точнее "Путин", а не в определенный диапазон указанный в коде, что бы он искал значение "Путин" и заменял его на IMG.

Спасибо огромное!

PHP код:
Sub q()
    
    
Dim shActive As Excel.Worksheet
    Dim myPath 
As String
    Dim myShape 
As Excel.Shape
    Dim myPicture 
As Picture
    Dim myMax 
As Long
    
    myPath 
"C:\321.jpg"
    
    
Set shActive ActiveSheet
    
   
    
If shActive.Shapes.Count 0 Then
    
        myMax 
40
        
   
    
Else
    
        For 
Each myShape In shActive.Shapes
          
            
If myShape.TopLeftCell.Column 12 Then
             
                
If myMax 0 Then
                    myMax 
myShape.TopLeftCell.Row
                
Else
                   
                    If 
myShape.TopLeftCell.Row myMax Then
                    
                        myMax 
myShape.TopLeftCell.Row
                    End 
If
                
End If
            
End If
            
        
Next myShape
    
        
If myMax 0 Then
            myMax 
40
     
        
Else
            
myMax myMax 1
        End 
If
        
    
End If
    
   
    
Set myPicture shActive.Pictures.Insert(myPath)
    
    
Set myShape myPicture.ShapeRange(1)
    
    
myShape.LockAspectRatio msoTrue
    myShape
.Width 250
    
   
    myShape
.Top shActive.Cells(myMax"A").Top
    myShape
.Left shActive.Cells(myMax"A").Left
    
End Sub 
Евгений Таб вне форума Ответить с цитированием
Старый 18.11.2013, 20:24   #2
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,858
По умолчанию

Картинку одну надо вставить?
Или картинок много, и их названия содержат текст ячеек, куда их надо поместить?

Если второй вариант, - вам подойдёт эта надстройка для Excel^
http://excelvba.ru/programmes/PastePictures
EducatedFool вне форума Ответить с цитированием
Старый 18.11.2013, 20:28   #3
Евгений Таб
Форумчанин
 
Аватар для Евгений Таб
 
Регистрация: 09.08.2013
Сообщений: 202
По умолчанию

Да, картинку одну - простую маленькую, просто вместо определенного значения!
Надстройки тут через чур будут.
Спасибо за быстрый ответ)
Евгений Таб вне форума Ответить с цитированием
Старый 18.11.2013, 20:31   #4
Евгений Таб
Форумчанин
 
Аватар для Евгений Таб
 
Регистрация: 09.08.2013
Сообщений: 202
По умолчанию

К примеру, поиск на листе ячейки с текстовым значение "Собака" , и он в эту ячейку запиливает этот макрос(вставляет JPG)
Евгений Таб вне форума Ответить с цитированием
Старый 18.11.2013, 20:33   #5
Евгений Таб
Форумчанин
 
Аватар для Евгений Таб
 
Регистрация: 09.08.2013
Сообщений: 202
По умолчанию

Незнаю как еще обяснить, в общем ничего не менять в макросе, изменить только не конкретное поле для вставки, а конкретное которое макрос будет искать
Евгений Таб вне форума Ответить с цитированием
Старый 18.11.2013, 20:37   #6
Евгений Таб
Форумчанин
 
Аватар для Евгений Таб
 
Регистрация: 09.08.2013
Сообщений: 202
По умолчанию

Во вложении ДО и ПОСЛЕ работы макроса, поиск Собака
Изображения
Тип файла: png ПОСЛЕ.png (63.5 Кб, 168 просмотров)
Тип файла: jpg ДО.jpg (25.6 Кб, 125 просмотров)
Евгений Таб вне форума Ответить с цитированием
Старый 19.11.2013, 05:47   #7
Евгений Таб
Форумчанин
 
Аватар для Евгений Таб
 
Регистрация: 09.08.2013
Сообщений: 202
По умолчанию

Никак не могу вставить код поиска по значению((
Евгений Таб вне форума Ответить с цитированием
Старый 19.11.2013, 06:48   #8
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,858
По умолчанию

Код:
Sub ВставкаКартинкиВНайденнуюЯчейку()
    Dim myPath$, myShape As Shape, myPicture As Picture, cell As Range, txt$
    txt$ = "Собака"        ' текст для поиска
    myPath$ = "C:\test.jpg"

    Set cell = ActiveSheet.UsedRange.Find(txt$)
    If cell Is Nothing Then
        MsgBox "Ячейка с заданным текстом «" & txt$ & "» не найдена", vbCritical
        Exit Sub
    End If

    Set myPicture = ActiveSheet.Pictures.Insert(myPath)
    myPicture.Top = cell.Top
    myPicture.Left = cell.Left
End Sub
EducatedFool вне форума Ответить с цитированием
Старый 19.11.2013, 07:03   #9
Евгений Таб
Форумчанин
 
Аватар для Евгений Таб
 
Регистрация: 09.08.2013
Сообщений: 202
По умолчанию

Очень Вам благодарен!
Евгений Таб вне форума Ответить с цитированием
Старый 19.11.2013, 12:25   #10
Евгений Таб
Форумчанин
 
Аватар для Евгений Таб
 
Регистрация: 09.08.2013
Сообщений: 202
По умолчанию

Еще один вопрос.
Что нужно дописать в макросе что бы он отправлял сохраненный файл pdf на адрес электронной почты? Клиент lotus ibm.
Но чтобы также сохранялся с условием?
Спасибо!
PHP код:
Sub ач32()
        
ChDir "C:\Documents and Settings\ezhutov\Рабочий стол\Экспорт
заявок"
          
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDFFilename:= _
       ActiveSheet
.Range("C2"), Quality:= _
       xlQualityStandard
IncludeDocProperties:=False,
IgnorePrintAreas:=False_
       OpenAfterPublish
:=False

End Sub 
Евгений Таб вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Удалить значения после определенного символа Banjo Microsoft Office Excel 17 04.04.2017 14:06
Присвоение определенного значения окрашеным ячейкам ingvar_on Microsoft Office Excel 3 26.03.2013 03:34
Получение значения при вводе определенного значения armanmal Microsoft Office Excel 6 21.11.2011 17:30
Замена определенного символа в строке на заданный. vladjke C++ Builder 2 15.06.2011 00:02
Результат до определенного значения и не выше. mato Общие вопросы C/C++ 8 04.12.2009 16:07