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

Вход

Регистрация

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

 

= Мир MS Excel/Заменить текст в ячейках на картинки. - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Заменить текст в ячейках на картинки. (Макросы/Sub)
Заменить текст в ячейках на картинки.
Anna@Anna Дата: Среда, 20.08.2014, 17:38 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 4
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Здравствуйте! Помогите, пожалуйста, решить следующую проблему. В некоторых ячейках листа есть повторяющийся текст трех видов: @0A@, @08@, @09@. Расположение этих ячеек и их количество заранее неизвестно, поэтому искать нужно по всему листу. Необходимо заменить этот текст на картинку статуса (например, красный = @0A@, желтый = @09@ и зеленый = @08@ кружки). Я совсем профан по части VBA кода, помогите написать соответствующий макрос.

Заранее спасибо!
[moder]Читайте Правила форума. Прикладывайте свой пример.
К сообщению приложен файл: Test.xlsx (13.5 Kb)


Сообщение отредактировал Anna@Anna - Среда, 20.08.2014, 18:12
 
Ответить
СообщениеЗдравствуйте! Помогите, пожалуйста, решить следующую проблему. В некоторых ячейках листа есть повторяющийся текст трех видов: @0A@, @08@, @09@. Расположение этих ячеек и их количество заранее неизвестно, поэтому искать нужно по всему листу. Необходимо заменить этот текст на картинку статуса (например, красный = @0A@, желтый = @09@ и зеленый = @08@ кружки). Я совсем профан по части VBA кода, помогите написать соответствующий макрос.

Заранее спасибо!
[moder]Читайте Правила форума. Прикладывайте свой пример.

Автор - Anna@Anna
Дата добавления - 20.08.2014 в 17:38
pechkin Дата: Среда, 20.08.2014, 19:41 | Сообщение № 2
Группа: Проверенные
Ранг: Обитатель
Сообщений: 329
Репутация: 49 ±
Замечаний: 0% ±

2003
Подойдет так...
К сообщению приложен файл: 4783933.xls (48.0 Kb)
 
Ответить
СообщениеПодойдет так...

Автор - pechkin
Дата добавления - 20.08.2014 в 19:41
_Boroda_ Дата: Среда, 20.08.2014, 20:19 | Сообщение № 3
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16675
Репутация: 6481 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Вариант без макросов условным форматированием для 2007 и выше
К сообщению приложен файл: Test_1.xlsx (14.5 Kb)


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеВариант без макросов условным форматированием для 2007 и выше

Автор - _Boroda_
Дата добавления - 20.08.2014 в 20:19
Anna@Anna Дата: Четверг, 21.08.2014, 10:47 | Сообщение № 4
Группа: Пользователи
Ранг: Прохожий
Сообщений: 4
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Спасибо большое! Но, дело в том, что мне не подходит вариант с условным форматированием и раскраской ячеек, так как задание заключается, к сожалению, именно в замене текста на картинку, а не в раскраске ячеек. А как прописать в макросе путь до картинки, я не знаю.
 
Ответить
СообщениеСпасибо большое! Но, дело в том, что мне не подходит вариант с условным форматированием и раскраской ячеек, так как задание заключается, к сожалению, именно в замене текста на картинку, а не в раскраске ячеек. А как прописать в макросе путь до картинки, я не знаю.

Автор - Anna@Anna
Дата добавления - 21.08.2014 в 10:47
ikki Дата: Четверг, 21.08.2014, 11:27 | Сообщение № 5
Группа: Друзья
Ранг: Старожил
Сообщений: 1906
Репутация: 504 ±
Замечаний: 0% ±

Excel 2003, 2010
А как прописать в макросе путь до картинки, я не знаю.
и макрорекодер не помогает?


помощь по Excel и VBA
ikki@fxmail.ru, icq 592842413, skype alex.ikki
 
Ответить
Сообщение
А как прописать в макросе путь до картинки, я не знаю.
и макрорекодер не помогает?

Автор - ikki
Дата добавления - 21.08.2014 в 11:27
Саня Дата: Четверг, 21.08.2014, 12:45 | Сообщение № 6
Группа: Друзья
Ранг: Ветеран
Сообщений: 1068
Репутация: 560 ±
Замечаний: 0% ±

XL 2016
[vba]
Код
Option Explicit

Sub Pr()
     Dim c As Range, lColor As Long
     For Each c In ActiveSheet.UsedRange
         Select Case c.Value
         Case "@0A@": lColor = vbRed
         Case "@09@": lColor = vbYellow
         Case "@08@": lColor = vbGreen
         Case Else: lColor = 0
         End Select

         If lColor Then
             '''c.Select
             SetShape c, lColor
             'c.ClearContents    ' ПОСЛЕ ПРОВЕРКИ АПОСТРОФ В НАЧАЛЕ СТРОКИ УДАЛИТЬ!
         End If
     Next c

End Sub

Sub SetShape(rng As Range, lColor As Long)
     Const D = 7

     With ActiveSheet.Shapes.AddShape(msoShapeOval, _
                    (rng.Left + rng.Offset(, 1).Left - D) / 2, _
                    (rng.Top + rng.Offset(1).Top - D) / 2, _
                    D, D)    ' _
                    rng.Height / 2, rng.Height / 2)
         .Line.Visible = msoFalse
         .Fill.ForeColor.RGB = lColor
     End With
End Sub
[/vba]
К сообщению приложен файл: Test.xlsm (24.2 Kb)
 
Ответить
Сообщение[vba]
Код
Option Explicit

Sub Pr()
     Dim c As Range, lColor As Long
     For Each c In ActiveSheet.UsedRange
         Select Case c.Value
         Case "@0A@": lColor = vbRed
         Case "@09@": lColor = vbYellow
         Case "@08@": lColor = vbGreen
         Case Else: lColor = 0
         End Select

         If lColor Then
             '''c.Select
             SetShape c, lColor
             'c.ClearContents    ' ПОСЛЕ ПРОВЕРКИ АПОСТРОФ В НАЧАЛЕ СТРОКИ УДАЛИТЬ!
         End If
     Next c

End Sub

Sub SetShape(rng As Range, lColor As Long)
     Const D = 7

     With ActiveSheet.Shapes.AddShape(msoShapeOval, _
                    (rng.Left + rng.Offset(, 1).Left - D) / 2, _
                    (rng.Top + rng.Offset(1).Top - D) / 2, _
                    D, D)    ' _
                    rng.Height / 2, rng.Height / 2)
         .Line.Visible = msoFalse
         .Fill.ForeColor.RGB = lColor
     End With
End Sub
[/vba]

Автор - Саня
Дата добавления - 21.08.2014 в 12:45
ikki Дата: Четверг, 21.08.2014, 13:04 | Сообщение № 7
Группа: Друзья
Ранг: Старожил
Сообщений: 1906
Репутация: 504 ±
Замечаний: 0% ±

Excel 2003, 2010
а... вот как?...
а я подумал, что нужны сохраненные на диске файлы с картинками...


помощь по Excel и VBA
ikki@fxmail.ru, icq 592842413, skype alex.ikki
 
Ответить
Сообщениеа... вот как?...
а я подумал, что нужны сохраненные на диске файлы с картинками...

Автор - ikki
Дата добавления - 21.08.2014 в 13:04
Anna@Anna Дата: Четверг, 21.08.2014, 13:12 | Сообщение № 8
Группа: Пользователи
Ранг: Прохожий
Сообщений: 4
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
По поводу картинок - там неважно, какие именно, просто светофор чтобы был. Саня, спасибо Вам огромное! Только вот нельзя ли текст из ячейки совсем убрать, а то там теперь - текст + картинка? Извините и еще раз спасибо)
 
Ответить
СообщениеПо поводу картинок - там неважно, какие именно, просто светофор чтобы был. Саня, спасибо Вам огромное! Только вот нельзя ли текст из ячейки совсем убрать, а то там теперь - текст + картинка? Извините и еще раз спасибо)

Автор - Anna@Anna
Дата добавления - 21.08.2014 в 13:12
ikki Дата: Четверг, 21.08.2014, 13:26 | Сообщение № 9
Группа: Друзья
Ранг: Старожил
Сообщений: 1906
Репутация: 504 ±
Замечаний: 0% ±

Excel 2003, 2010
Вы вот эту строку в коде Саня видели? :)[vba]
Код
'c.ClearContents    ' ПОСЛЕ ПРОВЕРКИ АПОСТРОФ В НАЧАЛЕ СТРОКИ УДАЛИТЬ!
[/vba]удалили?


помощь по Excel и VBA
ikki@fxmail.ru, icq 592842413, skype alex.ikki
 
Ответить
СообщениеВы вот эту строку в коде Саня видели? :)[vba]
Код
'c.ClearContents    ' ПОСЛЕ ПРОВЕРКИ АПОСТРОФ В НАЧАЛЕ СТРОКИ УДАЛИТЬ!
[/vba]удалили?

Автор - ikki
Дата добавления - 21.08.2014 в 13:26
Anna@Anna Дата: Четверг, 21.08.2014, 13:51 | Сообщение № 10
Группа: Пользователи
Ранг: Прохожий
Сообщений: 4
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Ой, извините за невнимательность, спасибо, теперь все получилось! Спасибо Вам всем огромное!)
 
Ответить
СообщениеОй, извините за невнимательность, спасибо, теперь все получилось! Спасибо Вам всем огромное!)

Автор - Anna@Anna
Дата добавления - 21.08.2014 в 13:51
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Заменить текст в ячейках на картинки. (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

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