Входни стойности са строго ограничени в посочения диапазон
Тази книга е предназначена за потребителите на Microsoft Excel и описва техниките и методите на работа, които, поради тяхната специфика, са по-слабо представени (или не е показан) в потребителския, справочници и други съответната документация. Изследването цитира примери в книгата ще позволи на читателя да открие неизвестни досега възможности на Excel. Предложеният материал е лесно смилаема, защото очертанията достъпен и разбираем език.
Книга: Excel. Каскади и ефекти
Входни стойности са строго ограничени в посочения диапазон
Раздели на тази страница:
Входни стойности са строго ограничени в посочения диапазон
По време на работа, програмата понякога е необходимо да се уверите, че данните, въведени от потребителя, не излизат извън рамките на определен обхват. В този раздел ще разгледаме две трикове, които ви позволяват да се реши този проблем: с помощта на диалоговия прозорец и чрез директно въвеждане на данни в обхвата. Използването на тези трикове ви позволява да контролирате коректността на данните, въведени от потребителите.
Въвеждане на данни с помощта на диалоговия прозорец
Можете да конфигурирате програмата така, че входните данни е строго ограничена до посочения диапазон ще бъде направено само с помощта на диалоговия прозорец. За да направите това, използвайте макроса, кодът е показано на Обява 2.35.
Обявата 2.35. диалоговия прозорец Настройка на въвеждане на данни
Дим intMin Като цяло число, intMax Както Range Цяло число "
Дим strInput Като потребителска низ String "
Дим strMessage Както стринга
Дим intValue Като цяло число
intMin = 1 "Минимална стойност
Максимална стойност intMax = 50 '
strMessage = "Въведете стойност между" intMin "До" intMax
"Въведете стойност (цикъл е завършен, когато потребителят въведе _
стойност на предварително определен обхват или отменя входа)
Ако strInput = "" Тогава Излезте Под "вход Отмени
"Проверете ако потребителят е въвел низ съдържа редица
Ако IsNumeric (strInput) След това
"Проверете дали стойността отговаря на обхвата
Ако intValue> = intMin И intValue <= intMax Then
"Са изпълнени всички условия
"Формиране на съобщения с текст грешка
strMessage = «Въвели сте неправилна стойност." vbNewLine _
"Въведете номер от" intMin "До" intMax
"Въвеждане на данни в клетката
След написването на този код в макро полето за избор ще бъде на разположение на макроси DialoglnputData. За да го наречем по-добре да се създаде специален бутон. След натискане на този бутон, диалогов прозорец ще ви подкани да въведете стойност от 1 до 50 (диапазон от стойности може да се променя по своему - това е достатъчно, за да направи съответните промени в кода на макросите). Когато се опитате да въведете стойност, която излиза извън горния диапазон, се появява прозорец със съответния предупреждение и повтори офертата да влезе в правилната стойност. Въведената стойност ще бъде поставен в клетка A1 - се отбелязва в ред код ActiveSheet.Range ( «Ал»). Стойност = strlnput. Ако този ред вместо точка А1, например, В1: E5, стойността на въвеждане ще бъде поставен на всички споменати диапазон клетки.
Директен вход
Ако въведените данни с помощта на диалоговия прозорец по някаква причина не е необходимо, можете да ги въведете директно в диапазона. Програмата ще следи входните данни (така, че да не надвишава определен интервал).
Обявата 2.36. Ограничаването на обхвата на възможните стойности
Под Worksheet_Change (ByVal Target As Excel.Range)
Дим rgInputRange Както Range
Дим клетка Както Range
Дим strMessage Както стринга
Дим varResult Както Variant
"Диапазон, който се контролира от входа
Задайте rgInputRange = Range ( «A1: E10»)
принадлежат към даден диапазон
За Всяка клетка В Target
"Проверка на набор от аксесоари
Ако съюз (клетка, rgInputRange) .Address =
"Вход коректност контрол
Ако varResult = вярно, тогава
"Enter правилната стойност
"Получаване и съобщение за грешка
strMessage = "Cell" cell.Address (False, False)
vbCrLf vbCrLf varResult
MsgBox strMessage, vbCritical, «Неправилно"
Функция IsCellDataValid (клетка Както Range) Както Variant
"Връща TRUE, ако числото е вписано в клетка _
в диапазона от 1 до 12. В противен случай, издаден _
"Проверете дали броят на съдържанието на клетката
Ако не WorksheetFunction.IsNumber (cell.Value) След това
IsCellDataValid = «не-цифрова стойност"
"Проверете дали номерът на входа е цяло число
Ако Int (cell.Value) <> cell.Value Тогава
IsCellDataValid = «Въведете цяло число"
"Проверка на обхвата номер
Ако cell.Value <1 Or cell.Value> 12 Тогава
IsCellDataValid = «стойност трябва да бъде между 1 до 12»
"В клетка, въведена допустима стойност
След написването на този код в диапазона A1: E10 може да бъде дадена само цели стойности брой попадат в диапазона от 1 до 12. Ако се опитате да влезете в не-числови стойности (например текст), програмата няма да може тя да направи - на екрана ще се появи съобщение кутия без числена стойност. Въвеждане на дробно число също ще бъде невъзможно - съобщението Въведете цяло число. Ако се опитаме да въведете стойност, което е извън обхвата от 1 до 12, то също ще бъде невъзможно и вие ще получите съобщение Стойността трябва да бъде от 1 до 12.