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

Вход

Регистрация

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

 

= Мир MS Excel/Меседжбокс с возможностью ввода текста - Мир MS Excel

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

2010
Здравствуйте, господа!

Возможно, проблема тривиальна, и уже было её решение. Но, к сожалению, через поиск по форуму ничего подходящего не нашел.

Есть диапазон ячеек. В примере - B4:H16.
Есть значения, которые вводятся в эти ячейки - "з", "б", "у", "о", "п" и т.п. (всегда одна буква, либо ячейка остается пустой).
Можно ли сделать так, чтобы при вводе в ячейку, в рамках этого диапазона, значений "з", "б" или "у", выскакивал меседжбокс с текстом "Введите комментарий" и возможностью ввода текста. И, далее, при вводе текста, он (текст) добавлялся бы в виде примечания к ячейке, где было введено значение (з/б/у)?

Заранее благодарю за внимание и уделенное время.
К сообщению приложен файл: 123321.xlsm (10.0 Kb)


Сообщение отредактировал ArkaIIIa - Понедельник, 22.09.2014, 12:24
 
Ответить
СообщениеЗдравствуйте, господа!

Возможно, проблема тривиальна, и уже было её решение. Но, к сожалению, через поиск по форуму ничего подходящего не нашел.

Есть диапазон ячеек. В примере - B4:H16.
Есть значения, которые вводятся в эти ячейки - "з", "б", "у", "о", "п" и т.п. (всегда одна буква, либо ячейка остается пустой).
Можно ли сделать так, чтобы при вводе в ячейку, в рамках этого диапазона, значений "з", "б" или "у", выскакивал меседжбокс с текстом "Введите комментарий" и возможностью ввода текста. И, далее, при вводе текста, он (текст) добавлялся бы в виде примечания к ячейке, где было введено значение (з/б/у)?

Заранее благодарю за внимание и уделенное время.

Автор - ArkaIIIa
Дата добавления - 22.09.2014 в 12:17
Саня Дата: Понедельник, 22.09.2014, 13:02 | Сообщение № 2
Группа: Друзья
Ранг: Ветеран
Сообщений: 1068
Репутация: 560 ±
Замечаний: 0% ±

XL 2016
контекстное меню ярлыка листа - "Исходный текст", туда это:
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
     If Target.Count > 1 Then Exit Sub
     If Intersect(Target, Range("B4:H16")) Is Nothing Then Exit Sub

     Dim sComm As String

     With Target
         Select Case .Value
         Case "з", "б", "у"
             sComm = InputBox("Введите комментарий:", , "Тру-ля-ля")
             If Len(sComm) > 0 Then
                 .ClearComments
                 .AddComment sComm
             End If

         End Select
     End With
End Sub
[/vba]
 
Ответить
Сообщениеконтекстное меню ярлыка листа - "Исходный текст", туда это:
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
     If Target.Count > 1 Then Exit Sub
     If Intersect(Target, Range("B4:H16")) Is Nothing Then Exit Sub

     Dim sComm As String

     With Target
         Select Case .Value
         Case "з", "б", "у"
             sComm = InputBox("Введите комментарий:", , "Тру-ля-ля")
             If Len(sComm) > 0 Then
                 .ClearComments
                 .AddComment sComm
             End If

         End Select
     End With
End Sub
[/vba]

Автор - Саня
Дата добавления - 22.09.2014 в 13:02
SkyPro Дата: Понедельник, 22.09.2014, 13:02 | Сообщение № 3
Группа: Друзья
Ранг: Старожил
Сообщений: 1206
Репутация: 255 ±
Замечаний: 0% ±

2010
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
     If Not Intersect(Target, [B4:H16]) Is Nothing Then
         t = InputBox("ВВедите комментарий")
         If t <> "" Then
             With Target
                 .AddComment
                 .Comment.Visible = False
                 .Comment.Text Text:=t
             End With
         End If
     End If
End Sub
[/vba]

Вариант Сани лучше :) Но не пропадать же добру )


skypro1111@gmail.com

Сообщение отредактировал SkyPro - Понедельник, 22.09.2014, 13:03
 
Ответить
Сообщение[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
     If Not Intersect(Target, [B4:H16]) Is Nothing Then
         t = InputBox("ВВедите комментарий")
         If t <> "" Then
             With Target
                 .AddComment
                 .Comment.Visible = False
                 .Comment.Text Text:=t
             End With
         End If
     End If
End Sub
[/vba]

Вариант Сани лучше :) Но не пропадать же добру )

Автор - SkyPro
Дата добавления - 22.09.2014 в 13:02
ArkaIIIa Дата: Понедельник, 22.09.2014, 13:06 | Сообщение № 4
Группа: Проверенные
Ранг: Ветеран
Сообщений: 894
Репутация: 115 ±
Замечаний: 0% ±

2010
Саня, SkyPro
Одновременно написали.

Супер, ребят! Большое вам спасибо!) hands
 
Ответить
СообщениеСаня, SkyPro
Одновременно написали.

Супер, ребят! Большое вам спасибо!) hands

Автор - ArkaIIIa
Дата добавления - 22.09.2014 в 13:06
_Boroda_ Дата: Понедельник, 22.09.2014, 13:07 | Сообщение № 5
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16675
Репутация: 6481 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
И у меня добро, которому не пропадать же
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
      If Target.Count > 1 Then Exit Sub
      If Len(Target) > 1 Then Exit Sub
      If Intersect(Target, Range("B4:H16")) Is Nothing Then Exit Sub
      On Error GoTo A
      If WorksheetFunction.Find(Target, "збу") Then
          Target.ClearComments
          Target.AddComment Text:=InputBox("Введите комментарий")
      End If
A:
End Sub
[/vba]
К сообщению приложен файл: 123321_1.xlsm (19.5 Kb)


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеИ у меня добро, которому не пропадать же
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
      If Target.Count > 1 Then Exit Sub
      If Len(Target) > 1 Then Exit Sub
      If Intersect(Target, Range("B4:H16")) Is Nothing Then Exit Sub
      On Error GoTo A
      If WorksheetFunction.Find(Target, "збу") Then
          Target.ClearComments
          Target.AddComment Text:=InputBox("Введите комментарий")
      End If
A:
End Sub
[/vba]

Автор - _Boroda_
Дата добавления - 22.09.2014 в 13:07
ArkaIIIa Дата: Понедельник, 22.09.2014, 13:23 | Сообщение № 6
Группа: Проверенные
Ранг: Ветеран
Сообщений: 894
Репутация: 115 ±
Замечаний: 0% ±

2010
_Boroda_
И Вам спасибо, Александр! :-)
 
Ответить
Сообщение_Boroda_
И Вам спасибо, Александр! :-)

Автор - ArkaIIIa
Дата добавления - 22.09.2014 в 13:23
VIDEO56 Дата: Пятница, 17.07.2015, 14:45 | Сообщение № 7
Группа: Проверенные
Ранг: Обитатель
Сообщений: 262
Репутация: 23 ±
Замечаний: 0% ±

Excel 2010
Могли бы мне ткнуть носом в строку кода где можно внести слово-условие при котором бы выскакивал МБокс?


Всем удачного дня!
 
Ответить
СообщениеМогли бы мне ткнуть носом в строку кода где можно внести слово-условие при котором бы выскакивал МБокс?

Автор - VIDEO56
Дата добавления - 17.07.2015 в 14:45
VIDEO56 Дата: Пятница, 17.07.2015, 15:49 | Сообщение № 8
Группа: Проверенные
Ранг: Обитатель
Сообщений: 262
Репутация: 23 ±
Замечаний: 0% ±

Excel 2010
_Boroda_, в этом примере условия буквы "ЗБУ". Мне нужно чтобы выводился МБокс при слове "Пример"
[moder]Тогда точно новая тема.
Эта закрыта


Всем удачного дня!

Сообщение отредактировал _Boroda_ - Пятница, 17.07.2015, 15:53
 
Ответить
Сообщение_Boroda_, в этом примере условия буквы "ЗБУ". Мне нужно чтобы выводился МБокс при слове "Пример"
[moder]Тогда точно новая тема.
Эта закрыта

Автор - VIDEO56
Дата добавления - 17.07.2015 в 15:49
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Меседжбокс с возможностью ввода текста (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

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