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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 30.11.2020, 12:06   #1
Вячеслав76
Пользователь
 
Регистрация: 30.11.2020
Сообщений: 36
По умолчанию Поиск ячеек определенного цвета

Добрый день.
Подскажите пожалуйста, как написать макрос, чтобы он на листе искал ячейку , которая залита КРАСНЫМ цветом. И в случае если таких ячеек нет, появлялась надпись - "изменений нет", а в случае обнаружения красных ячеек появлялась надпись - "Есть изменения"

Спасибо.
Вячеслав76 вне форума Ответить с цитированием
Старый 30.11.2020, 12:25   #2
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

Каким именно красным? Как именно залита?
Хотя в последних версиях способ заливки для макроса уже не важен...
Но вот с цветом можете ошибиться, т.к. vbRed - это один конкретный "колор"!
Код:
Sub tt()
    Dim c As Range
    For Each c In ActiveSheet.UsedRange.Cells
        If c.DisplayFormat.Interior.Color = vbRed Then MsgBox "Есть изменения": Exit Sub
    Next
    MsgBox "изменений нет"
End Sub
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Старый 01.12.2020, 13:12   #3
Вячеслав76
Пользователь
 
Регистрация: 30.11.2020
Сообщений: 36
По умолчанию

Спасибо огромное. Все работает
Может подскажите еще с одним вопросом, хотя заранее прошу прощения, если не по адресу или не по теме.
Есть задача - работая в Экселе отправить по аутлуку файл "word" который храниться в определенном месте. В идеале должно быть так:
нажал в экселе кнопку, выскочило окно: Отправить с подтверждением, отправить без подтверждения, отмена.
С подтверждением - я сам нажимаю в аутлук кнопку "отправить", чтобы убедиться, что файл точно отправлен.
Без подтверждения - файл отправлен и я этого даже не увидел.
Отмена - отмена команды.
Перепробовал несколько вариантов, постоянно ошибки

Офис на работе стоит самый последний.
Вячеслав76 вне форума Ответить с цитированием
Старый 01.12.2020, 16:42   #4
Aleksandr H.
2 the Nation Glory
Старожил
 
Аватар для Aleksandr H.
 
Регистрация: 27.05.2014
Сообщений: 3,289
По умолчанию

Вам надо "сделай вместо меня" или сами будете допиливать чужой код?
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы.
Aleksandr H. вне форума Ответить с цитированием
Старый 02.12.2020, 10:55   #5
Вячеслав76
Пользователь
 
Регистрация: 30.11.2020
Сообщений: 36
По умолчанию

Я не настолько силен в макросах. И когда возникает сложная задача, все на что меня хватает, это искать подобные решения в интернете. Но все варианты что я нахожу по данной задаче не работают. Поэтому и попросил помочь. Но, Вы правы. буду разбираться сам.
Вячеслав76 вне форума Ответить с цитированием
Старый 02.12.2020, 11:11   #6
Aleksandr H.
2 the Nation Glory
Старожил
 
Аватар для Aleksandr H.
 
Регистрация: 27.05.2014
Сообщений: 3,289
По умолчанию

Мой код отправки сообщения по кнопке из екселя.
Можете вначале влупить окно msgbox с 3 кнопками (https://www.google.com/search?client...gbox+3+buttons) и дальше или останавливаться или вызывать под конец Display/Send
Код:

Option Explicit

Sub Send_Mail()
    Dim objOutlookApp As Object, objMail As Object
    
    Dim sTo As String, sCC As String, sSubject As String, sBody As String, sAttachment As String
        
    sAttachment = ""
    Application.ScreenUpdating = False
    On Error Resume Next
    
    Set objOutlookApp = CreateObject("Outlook.Application")
    objOutlookApp.Session.Logon
    Set objMail = objOutlookApp.CreateItem(0)   ' створюємо нове повідомлення
    ' якщо не получилось запустити оутлук чи створити повідомлення  - виходимо
    If Err.Number <> 0 Then Set objOutlookApp = Nothing: Set objMail = Nothing: Exit Sub
    
     
    sTo = ""    ' Кому
    sCC = ""  ' Копія
    sSubject = ""    ' Тема листа
    sBody = "" ' Тіло листа. Підтримується HTML
    
    
    sAttachment = "" ' Вложение. Прописати шлях до файла або організувати вибір
    
    
   
    With objMail
        .To = sTo ' адресат
        .cc = sCC ' копія
        .Subject = sSubject ' тема
        .HTMLBody = sBody 'текст повідомлення
        .Attachments.Add sAttachment ' вкладення
        
        
        
        ' если .display  то отобразится окно аутлука
            .Display ' вивести лист
        ' если .send  то письмо пойдет автоматом
            .Send ' надіслати лист
            
    
    End With
exit_:
    Set objOutlookApp = Nothing: Set objMail = Nothing
    Application.ScreenUpdating = True
End Sub
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы.
Aleksandr H. вне форума Ответить с цитированием
Старый 03.12.2020, 09:51   #7
Вячеслав76
Пользователь
 
Регистрация: 30.11.2020
Сообщений: 36
По умолчанию

Спасибо Вам огромное. Все работает! !!!!!!!!!!!!! Буду разбираться с кнопкой... Спасибо!
Вячеслав76 вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как задать условия по поиску текста определенного цвета текста, или поиск ячеек с гиперссылками bmw323f Помощь студентам 0 05.12.2016 09:42
Поиск координат пикселя определенного цвета Yevgeniy_F C++ Builder 0 22.09.2013 10:30
присвоение линии определенного цвета Mehanizator Помощь студентам 2 19.08.2011 09:43
Поиск по символам внутри ячеек определенного столбца Lea1987 Microsoft Office Excel 8 21.05.2010 13:53
Подсчет ячеек определенного цвета в StringGrid Juliya_U Компоненты Delphi 4 22.04.2010 22:39