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

Вход

Регистрация

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

 

= Мир MS Excel/Ввод определенных значений - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Ввод определенных значений (Формулы/Formulas)
Ввод определенных значений
roman66rus Дата: Среда, 07.01.2015, 11:41 | Сообщение № 1
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 113
Репутация: 0 ±
Замечаний: 0% ±

2010
Подскажите пожалуйста, как сделать, чтобы в диапазон ячеек C3:F3 вносились только буквы А,Б,В,Г,(если пишутся с маленькой буквы, то автоматом переключались на большие, и если пустая ячейка то при закрытии файла выскакивало сообщение), а в диапазон C4:F6 числа или слово рем.
К сообщению приложен файл: _Microsoft_Exce.xlsx (8.8 Kb)
 
Ответить
СообщениеПодскажите пожалуйста, как сделать, чтобы в диапазон ячеек C3:F3 вносились только буквы А,Б,В,Г,(если пишутся с маленькой буквы, то автоматом переключались на большие, и если пустая ячейка то при закрытии файла выскакивало сообщение), а в диапазон C4:F6 числа или слово рем.

Автор - roman66rus
Дата добавления - 07.01.2015 в 11:41
Leanna Дата: Среда, 07.01.2015, 14:48 | Сообщение № 2
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 189
Репутация: 78 ±
Замечаний: 0% ±

excel 2010
макросы в коде листа и книги
в листе
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, [C3:F3]) Is Nothing Then
     Application.EnableEvents = False
     If Left(Target, 1) Like "[А-Яа-я Ёё]" Then
         Target = UCase(Target)
     ElseIf Target = "" Then
     Else
         MsgBox "только буквы А-Я"
         Target.Activate: Target = ""
     End If
     Application.EnableEvents = True
ElseIf Not Intersect(Target, [C4:F6]) Is Nothing Then
     Application.EnableEvents = False
     IsNum = Application.WorksheetFunction.IsNumber(Target)
     If Not IsNum Then If Target.Value <> "рем" Then If Target.Value <> "" Then _
                     MsgBox "только числа или 'рем'": Target.Activate: Target = ""
     Application.EnableEvents = True
End If
End Sub
[/vba]

в книге
[vba]
Код
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Set rng1 = [C3:F3]
  For Each cell In rng1
  If cell = "" Then Cancel = True: MsgBox "Заполните данные в [C3:F3]": Exit For
  Next
End Sub
[/vba]
К сообщению приложен файл: _Microsoft_Exce.xlsm (18.8 Kb)


Лучше день потерять, потом за пять минут долететь!
 
Ответить
Сообщениемакросы в коде листа и книги
в листе
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, [C3:F3]) Is Nothing Then
     Application.EnableEvents = False
     If Left(Target, 1) Like "[А-Яа-я Ёё]" Then
         Target = UCase(Target)
     ElseIf Target = "" Then
     Else
         MsgBox "только буквы А-Я"
         Target.Activate: Target = ""
     End If
     Application.EnableEvents = True
ElseIf Not Intersect(Target, [C4:F6]) Is Nothing Then
     Application.EnableEvents = False
     IsNum = Application.WorksheetFunction.IsNumber(Target)
     If Not IsNum Then If Target.Value <> "рем" Then If Target.Value <> "" Then _
                     MsgBox "только числа или 'рем'": Target.Activate: Target = ""
     Application.EnableEvents = True
End If
End Sub
[/vba]

в книге
[vba]
Код
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Set rng1 = [C3:F3]
  For Each cell In rng1
  If cell = "" Then Cancel = True: MsgBox "Заполните данные в [C3:F3]": Exit For
  Next
End Sub
[/vba]

Автор - Leanna
Дата добавления - 07.01.2015 в 14:48
JayBhagavan Дата: Среда, 07.01.2015, 15:07 | Сообщение № 3
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 188
Репутация: 27 ±
Замечаний: 0% ±

Excel 2010
Раз уже сделал, то тоже выкладываю. Суть та же исполнение несколько иное.
К сообщению приложен файл: _Microsoft_Exce.xls (47.0 Kb)


Языком ты или построишь жизнь,или разрушишь ее до основания.Думайте что говорите.(с)А.Хакимов
 
Ответить
СообщениеРаз уже сделал, то тоже выкладываю. Суть та же исполнение несколько иное.

Автор - JayBhagavan
Дата добавления - 07.01.2015 в 15:07
roman66rus Дата: Среда, 07.01.2015, 15:23 | Сообщение № 4
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 113
Репутация: 0 ±
Замечаний: 0% ±

2010
Leanna, JayBhagavan, СПАСИБО, Это почти то что нужно.
[vba]
Код
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Set rng1 = [C3:F3] '(МОЖНО ЛИ ЗДЕСЬ ЗАДАТЬ ТОЛЬКО ОДНУ ЯЧЕЙКУ, НО ТАК ЧТОБЫ ОНА МЕНЯЛАСЬ НА СЛЕДУЮЩЕЮ ПРИ КАЖДОМ ОТКРЫТИИ ФАЙЛА)
For Each cell In rng1
If cell = "" Then Cancel = True: MsgBox "Заполните данные в [C3:F3]": Exit For
Next
End Sub
[/vba]
 
Ответить
СообщениеLeanna, JayBhagavan, СПАСИБО, Это почти то что нужно.
[vba]
Код
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Set rng1 = [C3:F3] '(МОЖНО ЛИ ЗДЕСЬ ЗАДАТЬ ТОЛЬКО ОДНУ ЯЧЕЙКУ, НО ТАК ЧТОБЫ ОНА МЕНЯЛАСЬ НА СЛЕДУЮЩЕЮ ПРИ КАЖДОМ ОТКРЫТИИ ФАЙЛА)
For Each cell In rng1
If cell = "" Then Cancel = True: MsgBox "Заполните данные в [C3:F3]": Exit For
Next
End Sub
[/vba]

Автор - roman66rus
Дата добавления - 07.01.2015 в 15:23
roman66rus Дата: Среда, 07.01.2015, 15:39 | Сообщение № 5
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 113
Репутация: 0 ±
Замечаний: 0% ±

2010
Не могу посмотреть ЛС :(
 
Ответить
СообщениеНе могу посмотреть ЛС :(

Автор - roman66rus
Дата добавления - 07.01.2015 в 15:39
TimSha Дата: Среда, 07.01.2015, 16:13 | Сообщение № 6
Группа: Проверенные
Ранг: Ветеран
Сообщений: 627
Репутация: 94 ±
Замечаний: 0% ±

Excel 2013 Pro +
Суть та же исполнение несколько иное.

[offtop]Однако...
"Старайтесь прилагать файлы в версии Excel 2003-го офиса(xls), так как эти файлы могут открыть пользователи с любой версией Excel, в отличие от файлов версий Excel 2007/2010/2013 (xlsх)."


"Ctrl+S" - достойное завершение ваших гениальных мыслей!.. ;)
 
Ответить
Сообщение
Суть та же исполнение несколько иное.

[offtop]Однако...
"Старайтесь прилагать файлы в версии Excel 2003-го офиса(xls), так как эти файлы могут открыть пользователи с любой версией Excel, в отличие от файлов версий Excel 2007/2010/2013 (xlsх)."

Автор - TimSha
Дата добавления - 07.01.2015 в 16:13
roman66rus Дата: Пятница, 09.01.2015, 11:46 | Сообщение № 7
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 113
Репутация: 0 ±
Замечаний: 0% ±

2010
TimSha, JayBhagavan, Leanna, У самого пока ничего не получается, буду дальше учится, пока оставлю как есть. Всем Большое Спасибо.
 
Ответить
СообщениеTimSha, JayBhagavan, Leanna, У самого пока ничего не получается, буду дальше учится, пока оставлю как есть. Всем Большое Спасибо.

Автор - roman66rus
Дата добавления - 09.01.2015 в 11:46
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Ввод определенных значений (Формулы/Formulas)
  • Страница 1 из 1
  • 1
Поиск:

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