Добрый день форумчане!!! Наткнулся на сайте My WebPage и мне очень мне понравилось. Но ни как не могу разобраться как ее применить (((( Не могли бы вы помочь??? В приложеном файле на листе "Расчет согласно ГОСТ" выделенные ячейки (желтым цветом) АС26 и ниже написал условие к тем ячейкам к которым должно применяться всплывающее примечание. Возможно ли данное безумие создать . А то создал данный документ (не без вашей помощи, конечно) и при общении с ген.дирами сразу тысячи вопросов и телефонных звонков (((( а что и почему (((( красное или зеленое или желтое такое. Спасибо огромное заранее за помощь!!!
Добрый день форумчане!!! Наткнулся на сайте My WebPage и мне очень мне понравилось. Но ни как не могу разобраться как ее применить (((( Не могли бы вы помочь??? В приложеном файле на листе "Расчет согласно ГОСТ" выделенные ячейки (желтым цветом) АС26 и ниже написал условие к тем ячейкам к которым должно применяться всплывающее примечание. Возможно ли данное безумие создать . А то создал данный документ (не без вашей помощи, конечно) и при общении с ген.дирами сразу тысячи вопросов и телефонных звонков (((( а что и почему (((( красное или зеленое или желтое такое. Спасибо огромное заранее за помощь!!!lebensvoll
SLAVICK, мне нужно чтоб сразу всплывало данное примечание если в ячейке N24 значение менее 30. Чтоб если данным файлом пользуется ген.дир или еще кто то ему не придется понимать или что то делать чтоб понять почему данная ячейка окрасилась в красный цвет всплыло примечание он прочел и понял что нужно значится еще отбирать кубов или еще нужно добавить кол-во участков для испытания. Как бы вот так вот.
SLAVICK, мне нужно чтоб сразу всплывало данное примечание если в ячейке N24 значение менее 30. Чтоб если данным файлом пользуется ген.дир или еще кто то ему не придется понимать или что то делать чтоб понять почему данная ячейка окрасилась в красный цвет всплыло примечание он прочел и понял что нужно значится еще отбирать кубов или еще нужно добавить кол-во участков для испытания. Как бы вот так вот.lebensvoll
Manyasha, нет, спасибо огромное что откликнулись но нужно чтоб всплывало данное примечание. Данный документ я вкл. потом защиту. человек вносит свои данные чтоб понять сколько ему нужно производить испытания или обманывает ли его лаборатория делая чуть больше испытания или понять сколько будет стоить испытания его куба бетона. И если условие не совпадает то она мало того окрашивается в красный цвет то еще ему и всплывающая подсказка в виде примечания чтоб он понимал что АГА НУЖНО ЕЩЕ ОТОБРАТЬ ПРОБУ или УВЕЛИЧИТЬ КОЛ_ВО ИСПЫТАНИЯ.
Manyasha, нет, спасибо огромное что откликнулись но нужно чтоб всплывало данное примечание. Данный документ я вкл. потом защиту. человек вносит свои данные чтоб понять сколько ему нужно производить испытания или обманывает ли его лаборатория делая чуть больше испытания или понять сколько будет стоить испытания его куба бетона. И если условие не совпадает то она мало того окрашивается в красный цвет то еще ему и всплывающая подсказка в виде примечания чтоб он понимал что АГА НУЖНО ЕЩЕ ОТОБРАТЬ ПРОБУ или УВЕЛИЧИТЬ КОЛ_ВО ИСПЫТАНИЯ.lebensvoll
Manyasha, я тоже сразу так подумал. Вот макрос в модуль листа.: [vba]
Код
Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Not Intersect(Target, Range("N24")) Is Nothing Then On Error Resume Next With Range("N24") If .Value < 30 Then .AddComment .Comment.Text Text:="Слишком мало значений для определения характеристик однородности прочности бетона. Нужно не менее 30 шт. " .Comment.Shape.Width = 150 Else .ClearComments End If End With End If End Sub
[/vba] Сделал только для N24 - далее по аналогии.
Зы макрос срабатывает при выделении нужной ячейки. Поменял немного код - так легче править
Manyasha, я тоже сразу так подумал. Вот макрос в модуль листа.: [vba]
Код
Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Not Intersect(Target, Range("N24")) Is Nothing Then On Error Resume Next With Range("N24") If .Value < 30 Then .AddComment .Comment.Text Text:="Слишком мало значений для определения характеристик однородности прочности бетона. Нужно не менее 30 шт. " .Comment.Shape.Width = 150 Else .ClearComments End If End With End If End Sub
[/vba] Сделал только для N24 - далее по аналогии.
Зы макрос срабатывает при выделении нужной ячейки. Поменял немного код - так легче правитьSLAVICK
Если знатный юзер не прочитает коммент, то может 10 раз подряд пытаться ввести невалидные данные. С этой точки зрения MsgBox более "пугательна", максимум на 2-й прочтёт .
Если знатный юзер не прочитает коммент, то может 10 раз подряд пытаться ввести невалидные данные. С этой точки зрения MsgBox более "пугательна", максимум на 2-й прочтёт .Udik
вот вам барабан яд 41001231307558 wm R419131876897 udik1968@gmail.com
Так Вы определитесь что Вам нужно пугающее окно или примечание? См. файл повесил код на изменение листа и добавил сообщение
Если нужно убрать примечание удалите строки: [vba]
Код
.AddComment .Comment.Text Text:="Слишком мало значений для определения характеристик однородности прочности бетона. Нужно не менее 30 шт. " .Comment.Shape.Width = 150 и .ClearComments
Так Вы определитесь что Вам нужно пугающее окно или примечание? См. файл повесил код на изменение листа и добавил сообщение
Если нужно убрать примечание удалите строки: [vba]
Код
.AddComment .Comment.Text Text:="Слишком мало значений для определения характеристик однородности прочности бетона. Нужно не менее 30 шт. " .Comment.Shape.Width = 150 и .ClearComments
Так Вы определитесь что Вам нужно пугающее окно или примечание?
лучше для этих не разумных пусть будет всплывать пугающее примечание чем ему объяснять что нужно выделять ячейку чтоб понять почему она покраснела и что там в уголочке ячейке появилось примечание ))))) еще раз спасибо огромное всем
SLAVICK, Спасибо огромнейшее!!!
Цитата
Так Вы определитесь что Вам нужно пугающее окно или примечание?
лучше для этих не разумных пусть будет всплывать пугающее примечание чем ему объяснять что нужно выделять ячейку чтоб понять почему она покраснела и что там в уголочке ячейке появилось примечание ))))) еще раз спасибо огромное всемlebensvoll
Я на заре своей VBA-шной юности делал где-то так: [vba]
Код
i = 1 Do While Me.ListBox1.Text <> "абырвалг" If i > 5 Then MsgBox "Ну и иди отсюдова, аблизьяна зелёная" ThisWorkbook.Close Else If Cells(1,1).Value="" MsgBox "Не понял?" i = i + 1 Else: Exit Do End If End If Loop
[/vba]
Я на заре своей VBA-шной юности делал где-то так: [vba]
Код
i = 1 Do While Me.ListBox1.Text <> "абырвалг" If i > 5 Then MsgBox "Ну и иди отсюдова, аблизьяна зелёная" ThisWorkbook.Close Else If Cells(1,1).Value="" MsgBox "Не понял?" i = i + 1 Else: Exit Do End If End If Loop
SLAVICK, Доброе утро!!! Прошу прощение правильно ли я продолжаю прописывать код??? [vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range) On Error Resume Next With Range("N24") If .Value < 30 And Len(.Value) > 0 Then .AddComment .Comment.Text Text:="Ñëèøêîì ìàëî çíà÷åíèé äëÿ îïðåäåëåíèÿ õàðàêòåðèñòèê îäíîðîäíîñòè ïðî÷íîñòè áåòîíà. Íóæíî íå ìåíåå 30 øò. " .Comment.Shape.Width = 150 MsgBox "Ñëèøêîì ìàëî çíà÷åíèé äëÿ îïðåäåëåíèÿ õàðàêòåðèñòèê îäíîðîäíîñòè ïðî÷íîñòè áåòîíà. Íóæíî íå ìåíåå 30 øò. " Else .ClearComments End If End With End Sub Private Sub Worksheet_Change(ByVal Target As Range) On Error Resume Next With Range("N25") If .Value < 15 And Len(.Value) > 0 Then .AddComment .Comment.Text Text:="Ñëèøêîì ìàëî çíà÷åíèé äëÿ îïðåäåëåíèÿ õàðàêòåðèñòèê îäíîðîäíîñòè ïðî÷íîñòè áåòîíà. Íóæíî íå ìåíåå 30 øò. " .Comment.Shape.Width = 150 MsgBox "Ñëèøêîì ìàëî çíà÷åíèé äëÿ îïðåäåëåíèÿ õàðàêòåðèñòèê îäíîðîäíîñòè ïðî÷íîñòè áåòîíà. Íóæíî íå ìåíåå 30 øò. " Else .ClearComments End If End With End Sub Private Sub Worksheet_Change(ByVal Target As Range) On Error Resume Next With Range("O26") If .Value < 20 And Len(.Value) > 0 Then .AddComment .Comment.Text Text:="Ñëèøêîì ìàëî çíà÷åíèé äëÿ îïðåäåëåíèÿ õàðàêòåðèñòèê îäíîðîäíîñòè ïðî÷íîñòè áåòîíà. Íóæíî íå ìåíåå 30 øò. " .Comment.Shape.Width = 150 MsgBox "Ñëèøêîì ìàëî çíà÷åíèé äëÿ îïðåäåëåíèÿ õàðàêòåðèñòèê îäíîðîäíîñòè ïðî÷íîñòè áåòîíà. Íóæíî íå ìåíåå 30 øò. " Else .ClearComments End If End With End Sub
[/vba] С данным кодом всплывает угрожающее всплывающее окно И ЭТО СУПЕР прям все понятно сразу
SLAVICK, Доброе утро!!! Прошу прощение правильно ли я продолжаю прописывать код??? [vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range) On Error Resume Next With Range("N24") If .Value < 30 And Len(.Value) > 0 Then .AddComment .Comment.Text Text:="Ñëèøêîì ìàëî çíà÷åíèé äëÿ îïðåäåëåíèÿ õàðàêòåðèñòèê îäíîðîäíîñòè ïðî÷íîñòè áåòîíà. Íóæíî íå ìåíåå 30 øò. " .Comment.Shape.Width = 150 MsgBox "Ñëèøêîì ìàëî çíà÷åíèé äëÿ îïðåäåëåíèÿ õàðàêòåðèñòèê îäíîðîäíîñòè ïðî÷íîñòè áåòîíà. Íóæíî íå ìåíåå 30 øò. " Else .ClearComments End If End With End Sub Private Sub Worksheet_Change(ByVal Target As Range) On Error Resume Next With Range("N25") If .Value < 15 And Len(.Value) > 0 Then .AddComment .Comment.Text Text:="Ñëèøêîì ìàëî çíà÷åíèé äëÿ îïðåäåëåíèÿ õàðàêòåðèñòèê îäíîðîäíîñòè ïðî÷íîñòè áåòîíà. Íóæíî íå ìåíåå 30 øò. " .Comment.Shape.Width = 150 MsgBox "Ñëèøêîì ìàëî çíà÷åíèé äëÿ îïðåäåëåíèÿ õàðàêòåðèñòèê îäíîðîäíîñòè ïðî÷íîñòè áåòîíà. Íóæíî íå ìåíåå 30 øò. " Else .ClearComments End If End With End Sub Private Sub Worksheet_Change(ByVal Target As Range) On Error Resume Next With Range("O26") If .Value < 20 And Len(.Value) > 0 Then .AddComment .Comment.Text Text:="Ñëèøêîì ìàëî çíà÷åíèé äëÿ îïðåäåëåíèÿ õàðàêòåðèñòèê îäíîðîäíîñòè ïðî÷íîñòè áåòîíà. Íóæíî íå ìåíåå 30 øò. " .Comment.Shape.Width = 150 MsgBox "Ñëèøêîì ìàëî çíà÷åíèé äëÿ îïðåäåëåíèÿ õàðàêòåðèñòèê îäíîðîäíîñòè ïðî÷íîñòè áåòîíà. Íóæíî íå ìåíåå 30 øò. " Else .ClearComments End If End With End Sub
[/vba] С данным кодом всплывает угрожающее всплывающее окно И ЭТО СУПЕР прям все понятно сразу lebensvoll
а что это за иероглифы какие то (((( не понял я [moder]Когда копируете код, переключайтесь на русскую раскладку на клавиатуре. Тогда не будет иероглифов.[/moder]
а что это за иероглифы какие то (((( не понял я [moder]Когда копируете код, переключайтесь на русскую раскладку на клавиатуре. Тогда не будет иероглифов.[/moder]lebensvoll
Кто бы ты ни был, мир в твоих руках
Сообщение отредактировал Manyasha - Среда, 23.03.2016, 09:52
Private Sub Worksheet_Change(ByVal Target As Range) On Error Resume Next With Range("N24") If .Value < 30 And Len(.Value) > 0 Then .AddComment .Comment.Text Text:="Слишком мало значений для определения характеристик однородности прочности бетона. Нужно не менее 30 шт. " .Comment.Shape.Width = 150 MsgBox "Слишком мало значений для определения характеристик однородности прочности бетона. Нужно не менее 30 шт. " Else .ClearComments End If End With End Sub Private Sub Worksheet_Change(ByVal Target As Range) On Error Resume Next With Range("N25") If .Value < 15 And Len(.Value) > 0 Then .AddComment .Comment.Text Text:="Слишком мало значений для определения характеристик однородности прочности бетона. Нужно не менее 30 шт. " .Comment.Shape.Width = 150 MsgBox "Слишком мало значений для определения характеристик однородности прочности бетона. Нужно не менее 30 шт. " Else .ClearComments End If End With End Sub Private Sub Worksheet_Change(ByVal Target As Range) On Error Resume Next With Range("O26") If .Value < 20 And Len(.Value) > 0 Then .AddComment .Comment.Text Text:="Слишком мало значений для определения характеристик однородности прочности бетона. Нужно не менее 30 шт. " .Comment.Shape.Width = 150 MsgBox "Слишком мало значений для определения характеристик однородности прочности бетона. Нужно не менее 30 шт. " Else .ClearComments End If End With End Sub
[/vba] а вот )))) получилось, спасибо за подсказку
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range) On Error Resume Next With Range("N24") If .Value < 30 And Len(.Value) > 0 Then .AddComment .Comment.Text Text:="Слишком мало значений для определения характеристик однородности прочности бетона. Нужно не менее 30 шт. " .Comment.Shape.Width = 150 MsgBox "Слишком мало значений для определения характеристик однородности прочности бетона. Нужно не менее 30 шт. " Else .ClearComments End If End With End Sub Private Sub Worksheet_Change(ByVal Target As Range) On Error Resume Next With Range("N25") If .Value < 15 And Len(.Value) > 0 Then .AddComment .Comment.Text Text:="Слишком мало значений для определения характеристик однородности прочности бетона. Нужно не менее 30 шт. " .Comment.Shape.Width = 150 MsgBox "Слишком мало значений для определения характеристик однородности прочности бетона. Нужно не менее 30 шт. " Else .ClearComments End If End With End Sub Private Sub Worksheet_Change(ByVal Target As Range) On Error Resume Next With Range("O26") If .Value < 20 And Len(.Value) > 0 Then .AddComment .Comment.Text Text:="Слишком мало значений для определения характеристик однородности прочности бетона. Нужно не менее 30 шт. " .Comment.Shape.Width = 150 MsgBox "Слишком мало значений для определения характеристик однородности прочности бетона. Нужно не менее 30 шт. " Else .ClearComments End If End With End Sub
[/vba] а вот )))) получилось, спасибо за подсказкуlebensvoll