Ввод числа textbox vba excel

I have simple textBox and I want to validate its input including «+» , «-» and «.» here is what I have tried

Private Sub DisplayValue_TextBox_Change()
If Not IsNumeric(DisplayValue_TextBox.Value) Then
               MsgBox "Only numbers allowed"

      End If
End Sub

But this only accepts numbers 0-9 no negative, positive value or float value..

Community's user avatar

asked Oct 1, 2014 at 10:03

AddyProg's user avatar

2

Further to my comment:

Consider a sample Userform1 with a Textbox1 and a CommandButton1

enter image description here

when you enter anything in the TextBox1 the change event fires — ie. typing one character fires the Change() event and passes the current value so even when you type in the negative sign your current logic fails.

What you need is to use another event like _AfterUpdate() or _Exit() with an amphasis on the second one because your can cancel the event :)

Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
    If Not IsNumeric(TextBox1.Value) Then
        MsgBox "only numbers allowed"
        Cancel = True
    End If
End Sub

You can find events here:

enter image description here

answered Oct 1, 2014 at 10:26

0

use the KeyPress event, and discard any non-numeric entry:

Private Sub txtShift1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
Debug.Print KeyAscii
If KeyAscii >= 48 And KeyAscii <= 57 Then
    Debug.Print "number"
Else
    Debug.Print "other"
    KeyAscii = 0
End If
End Sub

answered Jan 20, 2017 at 19:02

Ruben Alvarez's user avatar

Having relied up till now on string parsing to do this job, I’m glad I decided to check and see how other people do it and found this Q.

I’ve refined Ruben Alvarez’s excellent answer. The below will allow numerical entries only, and only one decimal point.

Private Sub txtShift1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)

    Select Case KeyAscii
        Case 46
            If InStr(1, txtShift1, ".") > 0 Then KeyAscii = 0
        Case 48 To 57
        Case Else
            KeyAscii = 0
    End Select

End Sub

This could be further refined to allow only a single «+», «-» etc. as necessary.

answered Jun 5, 2017 at 10:09

blackworx's user avatar

blackworxblackworx

5175 silver badges19 bronze badges

I use this. It will allow only numbers with decimals.

Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
    Select Case KeyAscii
        Case vbKey0 To vbKey9, vbKeyBack, vbKeyClear, vbKeyDelete, _
        vbKeyLeft, vbKeyRight, vbKeyUp, vbKeyDown, vbKeyTab
            If KeyAscii = 46 Then If InStr(1, TextBox1.Text, ".") Then KeyAscii = 0
        Case Else
            KeyAscii = 0
            Beep
    End Select
End Sub

answered Aug 3, 2019 at 11:11

Siddharth Rout's user avatar

Siddharth RoutSiddharth Rout

146k17 gold badges206 silver badges250 bronze badges

2

Im using that:

Private Sub txtGiaNet_Change()
    If IsNumeric(txtGiaNet.Value) Then
        //if number do sth
    Else
        //if not, delete this character
        txtGiaNet.Value = Left(txtGiaNet.Value, Len(txtGiaNet.Value) - 1)
    End If

End Sub

clemens's user avatar

clemens

16.4k11 gold badges48 silver badges65 bronze badges

answered Dec 17, 2017 at 11:01

Lam Kent's user avatar

1

If TextBox1.Value <> "" Then
    Dim N As Boolean
    N = True
    Do While N
        If Not IsNumeric(TextBox1.Value) Then
            TextBox1.Value = Left(TextBox1.Value, Len(TextBox1.Value) - 1)
        Else
            N = False
        End If
    Loop
End If

Taazar's user avatar

Taazar

1,54518 silver badges27 bronze badges

answered Sep 15, 2020 at 3:06

PEARL FUELS BPCL OUTLET's user avatar

Private Sub TbCout_D_Edlp_Change()

Dim NotNumeric As Boolean

Dim TempValue As String

     If Not IsNumeric(TbCout_D_Edlp.Value) Then
 
        If TbCout_D_Edlp.Value <> "" Then
        
              NotNumeric = True
              
              MsgBox "Only numbers allowed"
              
              TempValue = Left(Me.TbCout_D_Edlp.Value, Len(Me.TbCout_D_Edlp.Value) - 1)
              
              While NotNumeric = True And TempValue <> ""
              
                   If Not IsNumeric(TempValue) Then
              
                        TempValue = Left(TempValue, Len(TempValue) - 1)
                        
                   
                   Else
                        
                        NotNumeric = False
                        
                   End If
        
              Wend
              
              Me.TbCout_D_Edlp.Value = TempValue
                
        End If
        
     End If

End Sub

Soren V. Raben's user avatar

answered Nov 20, 2020 at 0:32

joseph.T's user avatar

1

FWIW, I was fine with the OPs limitations on the type of values accepted but wasn’t fine with the msgbox arriving at inappropriate times (such as when Backspace was used). To resolve that, I created a calculated field in the worksheet («Value_AnyGood») that used the ISNUMBER function on the entered data. I then tested that for «True» on any event that left the UF where the data was entered. That resulted in a process that caught any non-numeric entries but didn’t pop up a message for legitimate editing efforts. If the value was False, it lets the user know and then ends the routine with the current UF displayed.

answered Mar 7 at 9:56

M King's user avatar

1

 

Kirill Gureev

Пользователь

Сообщений: 653
Регистрация: 01.01.1970

#1

07.08.2018 22:31:03

Уважаемые коллеги.
Собственно, вопроса то уже нет, поскольку решение найдено. Но вот понять я его не могу, хоть и три строки:

Код
Private Sub TextBox3_Change()
    If TextBox3.Text Like "*[!0-9]*" Then _
        TextBox3.Text = TextBox3.Tag _
        Else: TextBox3.Tag = TextBox3.Text
End Sub

Объясните мне, пожалуйста, что такое свойство Tag и что тут вообще происходит в условии?
Спасибо.

P.S. Было бы здорово, если бы Вы подсказали как ещё добавить разрешение на ввод десятичного знака.

Изменено: Kirill Gureev07.08.2018 22:31:50

 

Karataev

Пользователь

Сообщений: 2306
Регистрация: 23.10.2014

#2

07.08.2018 22:39:19

Я предлагаю Вам использовать этот код, я думаю, что его достаточно для Вашей задачи.
Ваш же код мне кажется более сложным и нет смысла его использовать.
Tag это свойство TextBox’а, куда можно записывать данные для каких-то целей. Своего рода это переменная.

Десятичный разделитель запятая (код 44).

Код
Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
    Select Case KeyAscii
        Case 44, 48 To 57
        Case Else
            KeyAscii = 0
    End Select
End Sub

Изменено: Karataev08.08.2018 07:44:12

 

Logistic

Пользователь

Сообщений: 741
Регистрация: 03.01.2013

Как вариант

Прикрепленные файлы

  • Книга2.xlsm (17.67 КБ)

 

Karataev, очень странно, что Вы говорите, что этот код не надо использовать. Результат он даёт… почему бы и нет. Взят он также в какого-то форума с этим же вопросом… но вот что делает условие — не понятно.
За Ваш вариант также спасибо.

Также, если уж не совсем я обнаглел, как запретить больше одного ввода запятой?
Спасибо.

Изменено: Kirill Gureev07.08.2018 22:53:14

 

Karataev

Пользователь

Сообщений: 2306
Регистрация: 23.10.2014

Мне Ваш код кажется сложным для понимания, поэтому я Вам советую использовать мой код.

Изменено: Karataev08.08.2018 07:45:02

 

Logistic, спасибо. Очень понятно.
Вопрос тот же, «Как разрешить ввод только одного десятичного знака?»

 

Karataev

Пользователь

Сообщений: 2306
Регистрация: 23.10.2014

#7

07.08.2018 22:59:24

Код
Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
    If KeyAscii >= 48 And KeyAscii <= 57 Then
        Exit Sub
    End If
    If KeyAscii = 44 Then
        If InStr(Me.TextBox1.text, ",") Then
            KeyAscii = 0
        End If
    Else
        KeyAscii = 0
    End If
End Sub
 

Karataev, сударь, не сводите меня с ума!

 

Karataev

Пользователь

Сообщений: 2306
Регистрация: 23.10.2014

Да, путаница возникла с именами текстобоксом. У меня TextBox1, в Вашем посте 1 TextBox3. У меня Ваш код просто не запускался.
Тут и Ваша вина, сводите с ума: в приложенном файле у Вас TextBox1.

 

Kirill Gureev

Пользователь

Сообщений: 653
Регистрация: 01.01.1970

#10

07.08.2018 23:06:41

Karataev, согласен)
Однако, вернёмся к самому вопросу… что сие происходит этим куском?

Код
If TextBox3.Text Like "*[!0-9]*" Then _
        TextBox3.Text = TextBox3.Tag _
        Else: TextBox3.Tag = TextBox3.Text
 

Karataev

Пользователь

Сообщений: 2306
Регистрация: 23.10.2014

#11

07.08.2018 23:11:53

Смысл Вашего кода такой. В тег запоминается число, которое было ранее записано в TextBox. Если в TextBox’е появляется нечисло, то в TextBox записываются данные из тега, т.е. число, которое было ранее, до ввода неправильного символа.
Если в конструкции If.. Then есть Else, то лучше используйте такой стиль написания. Так меньше путаницы и быстрее Вам помогут. Ваш способ очень редко кто использует, ни в одном справочнике по VBA Вы не найдете, чтобы было так записано.

Код
Private Sub TextBox1_Change()
    If TextBox1.Text Like "*[!0-9]*" Then
        TextBox1.Text = TextBox1.Tag
    Else
        TextBox1.Tag = TextBox1.Text
    End If
End Sub

Изменено: Karataev08.08.2018 07:48:42

 

Юрий М

Модератор

Сообщений: 60577
Регистрация: 14.09.2012

Контакты см. в профиле

#12

07.08.2018 23:27:36

Я пользуюсь этим:

Код
‘Контроль ввода в TextBox  только цифры (Автор – EducatedFool) Теперь Игорь
Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
    txt = Me.TextBox1    ' читаем текст из поля (для недопущения ввода двух и более запятых)
    If InStr(1, txt, ",") > 0 And Len(txt) - InStr(1, txt, ",") = 2 Then KeyAscii = 0  ' только 2 цифры после запятой
    Select Case KeyAscii
        Case 8:    ' нажат Backspace - ничего не делаем
        Case 44: KeyAscii = IIf(InStr(1, txt, ",") > 0, 0, 44)    ' если запятая уже есть - отменяем ввод символа
        Case 46: KeyAscii = IIf(InStr(1, txt, ",") > 0, 0, 44)    ' заменяем при вводе точку на запятую
        Case 48 To 57    ' если введена цифра  - ничего не делаем
        Case Else: KeyAscii = 0    ' иначе отменяем ввод символа
    End Select
End Sub
 
 

Василий Морозов

Пользователь

Сообщений: 13
Регистрация: 07.02.2023

#14

08.02.2023 16:04:20

Добрый день!
Юрий М,  немного изменил Ваш код из поста #12 (5 цифр после запятой) и вставил отображение введенного значения в ТектБокс1 в ячейке A1

Код
Sheets("Лист1").Range("A1").Value = Me.TextBox1

Обнаружилось, что в ТекстБокс1 вводится все верно, но на выходе 4 знака после запятой. Чтоб получить 5 знаков нужно нажать дополнительно любую (это не точно, пробовал цифры на NumPad) кнопку.
Прошу не кидаться тапками если ответ очевиден для гуру, осваивать VBA начал неделю назад, создал необходимую под мои задачи форму, пытаюсь писать код методом «тыка».
P.S. Возможно разобрался (листы и ячейки изменены). Но если выделить мышью или перейти Tab-ом в ТекстБокс3, то сразу с клавиатуры ввод данных не получается, нужно удалить имеющееся и только потом вводить свои (другие) данные. Почему? И как исправить?

Код
Private Sub TextBox3_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
    txt = Me.TextBox3    ' читаем текст из поля (для недопущения ввода двух и более запятых)
    If InStr(1, txt, ",") > 0 And Len(txt) - InStr(1, txt, ",") = 5 Then KeyAscii = 0  ' только 5 цифр после запятой
    
    Select Case KeyAscii
        Case 8:    ' нажат Backspace - ничего не делаем
        Case 44: KeyAscii = IIf(InStr(1, txt, ",") > 0, 0, 44)    ' если запятая уже есть - отменяем ввод символа
        Case 46: KeyAscii = IIf(InStr(1, txt, ",") > 0, 0, 44)    ' заменяем при вводе точку на запятую
        Case 48 To 57    ' если введена цифра  - ничего не делаем
        Case Else: KeyAscii = 0    ' иначе отменяем ввод символа
    End Select
End Sub

Private Sub TextBox3_Change()
        'изменение в Тариф
    Sheets("Показания").Range("D5").Value = Me.TextBox3
End Sub

Private Sub UserForm_Initialize()
         'отобразить в Текстбокс3 данные ячейки D5 Тариф
    Me.TextBox3 = Sheets("Показания").Range("D5").Value
End Sub

Изменено: Morozka10.02.2023 20:13:37
(Уточнение)

 

SlA_pls

Пользователь

Сообщений: 8
Регистрация: 05.04.2021

#15

21.02.2023 13:43:34

Всем привет!
Столкнулся с такой же проблемой, но с одной оговоркой. Если у меня на UserForm изначально нет TextBox и макрос динамически добавляет текст боксы на форму, куда вставить этот код, чтобы он при клике на эти новые текстовые поля срабатывал, уже все перепробовал. Вот так создаю текст бокс и он не реагирует на макрос, который здесь был описан, т.к. фактически он не находит никакого TextBox1, хотя их может быть 1 или несколько, в общем, динамично. Файл приложить не могу, к сожалению

Код
        Set tb(i) = ConertUnit.Controls.Add("forms.textbox.1")
                With tb(i)
                        .BackColor = &H80000005
                        .BackStyle = 1
                        .BorderStyle = 0
                        .ForeColor = &H80000008
                        .TextAlign = 2
                        .Font.Size = 10
                        .Font.Bold = True
                        .Font.Name = "Tahoma"
                        .Top = i * 10 + (i - 1) * 20 'От верхней границы границы формы
                        .Left = 86
                        .Height = 18
                        .Width = 78
                End With
 

Artem1977

Пользователь

Сообщений: 163
Регистрация: 28.02.2017

SlA_pls, почитайте пожалуйста

здесь

Microsoft Office 2010 64-bit, Windows 10 Professional 64-bit

 

MikeVol

Пользователь

Сообщений: 229
Регистрация: 20.10.2020

Ученик

SlA_pls, Доброго времени суток. Вы выложили только кусок кода где вы добавляете динамически TextBox. А весь код где вы присваеваете к этому TextBox-у или TextBox-ам событие типа Change или Exit? Может там проблема?

 

SlA_pls

Пользователь

Сообщений: 8
Регистрация: 05.04.2021

#18

22.02.2023 11:55:39

Цитата
написал:
SlA_pls, почитайте пожалуйста  здесь

Спасибо большое!

Элемент управления пользовательской формы TextBox в VBA Excel. Использование текстового поля для ввода и вывода информации, основные свойства, примеры. Привязка текстового поля к ячейке.

UserForm.TextBox – это элемент управления пользовательской формы, предназначенный для ввода, редактирования и вывода информации в текстовом формате.

Текстовое поле на пользовательской форме

Текстовое поле незаменимо, когда необходимо заполнить пользовательскую форму новой информацией. Например, это может быть ФИО нового сотрудника и его паспортные данные, сумма выручки за день, новый электронный адрес и многое-многое другое.

Если с помощью текстового поля требуется вводить заранее известную информацию, элементы которой можно сгруппировать в список, то в этом случае удобнее вместо элемента управления TextBox использовать ListBox или ComboBox.

Вводить информацию в TextBox на открытой форме можно не только с помощью клавиатуры, но и вставкой текста из буфера обмена. Когда текстовое поле применяется для ввода пароля, есть возможность отобразить все его знаки замещающим символом, например, звездочкой.

Иногда, если на пользовательской форме используется только одно текстовое поле и кнопка «OK» (или кнопки «OK» и «Отмена»), для ввода информации такую форму можно заменить функцией InputBox, а для вывода информации, когда не требуется редактирование отображаемого текста, – функцией MsgBox.

Свойства текстового поля

Свойство Описание
AutoSize* Автоподбор размера текстового поля. True – размер автоматически подстраивается под длину размещаемой строки. False – размер элемента управления определяется свойствами Width и Height.
AutoTab Включение автоматической табуляции – передачи фокуса следующему элементу управления при достижении максимального числа символов при значениях свойства MaxLenght > 0. True – автоматическая табуляция включена, False – выключена.
ControlSource Ссылка на источник данных для поля TextBox.
ControlTipText Текст всплывающей подсказки при наведении курсора на TextBox.
Enabled Возможность ввода, редактирования, копирования, вставки, удаления текста. True – все перечисленные опции включены, False – выключены (цвет текста в поле становится серым).
Font Шрифт, начертание и размер текста в поле.
Height Высота текстового поля.
Left Расстояние от левого края внутренней границы пользовательской формы до левого края текстового поля.
Locked Запрет ввода, редактирования, удаления текста. True – перечисленные опции запрещены (разрешено выделение и копирование текста), False – перечисленные опции разрешены.
MaxLenght Максимальная длина строки. По умолчанию – 0, что означает – ограничений нет.
Multiline Устанавливает многострочный (True) или однострочный (False) режим ввода-вывода текста.
PasswordChar Задает символ, который будет отображаться при вводе знаков пароля.
TabIndex Определяет позицию элемента управления в очереди на получение фокуса при табуляции, вызываемой свойством AutoTab или нажатием клавиш «Tab», «Enter». Отсчет начинается с 0.
Text** Текстовое содержимое (значение) поля (=Value).
TextAlign Выравнивание текста: 1 (fmTextAlignLeft) – по левому краю, 2 (fmTextAlignCenter) – по центру, 3 (fmTextAlignRight) – по правому краю.
Top Расстояние от верхнего края внутренней границы пользовательской формы до верхнего края текстового поля.
Value** Текстовое содержимое (значение) поля (=Text).
Visible Видимость текстового поля. True – TextBox отображается на пользовательской форме, False – TextBox скрыт.
Width Ширина текстового поля.
WordWrap Актуально при Multiline = True. Переход на новую строку при достижении границы текстового поля. True – переход включен, False – переход выключен.

* При использовании свойства AutoSize в значении True следует учитывать, что автоматическое изменение размеров поля при вводе текста может нарушить дизайн пользовательской формы.
** Text и Value — это два обозначения одного и того же свойства. Если в окне Properties элемента управления TextBox в поле свойства Text начать ввод строки, в поле Value ввод будет дублироваться. И наоборот, при вводе текста в поле свойства Value, дублирование произойдет в поле Text.

В таблице перечислены только основные, часто используемые свойства текстового поля. Все доступные свойства отображены в окне Properties элемента управления TextBox.

Свойства BackColor, BackStyle, BorderColor, BorderStyle отвечают за внешнее оформление текстового поля и его границ. Попробуйте выбирать доступные значения этих свойств в окне Properties, наблюдая за изменениями внешнего вида элемента управления TextBox на проекте пользовательской формы.

Привязка текстового поля к ячейке

Привязать элемент управления TextBox к ячейке на рабочем листе можно двумя способами.

1. В окне Properties элемента управления TextBox в поле свойства ControlSource необходимо указать адрес ячейки:

Окно Properties-TextBox

2. Присвоить свойству ControlSource адрес ячейки в коде VBA Excel:

UserForm1.TextBox1.ControlSource = «C5»

Теперь ячейка C5 активного листа будет привязана к элементу управления TextBox1. При открытии формы текстовое поле будет заполнено значением ячейки C5.

Чтобы наглядно ознакомиться с взаимозависимостью значения ячейки C5 и содержимого текстового поля, разместите на пользовательской форме еще какой-нибудь элемент управления и откройте ее в немодальном* окне:

Sub Test()

UserForm1.TextBox1.ControlSource = «C5»

UserForm1.Show 0

End Sub

Измените значение ячейки C5 и нажмите клавишу «Tab» или «Enter» – изменения будут продублированы в текстовом поле на форме. Измените содержимое поля TextBox1, нажмите клавишу «Tab» или «Enter», передав фокус другому элементу управления, – изменения продублируются в ячейке C5.

Чтобы привязать текстовое поле к ячейке неактивного листа, необходимо в адресе указать имя листа по ярлыку с разделителем «!»:

UserForm1.TextBox1.ControlSource = «Лист2!A3»

Если имя листа содержит пробел, заключите его в одинарные кавычки:

UserForm1.TextBox1.ControlSource = «‘Мой лист’!B6»

Точно также адрес ячейки конкретного листа можно указать непосредственно в окне Properties элемента управления TextBox в поле свойства ControlSource (без парных кавычек).

* Отображение пользовательской формы в немодальном окне позволяет редактировать ячейки на рабочем листе Excel, не закрывая форму.

Примеры использования TextBox

Пример 1
Обмен содержимым между текстовым полем, переменной и ячейкой на рабочем листе:

‘Присвоение текстовому полю значения

‘ячейки A2 и переменной a1

UserForm1.TextBox1.Text = Range(«A2»)

UserForm1.TextBox1.Text = a1

‘Присвоение ячейке B3 и переменной a2

‘значения текстового поля

Cells(3, 2) = UserForm1.TextBox1.Text

a2 = UserForm1.TextBox1.Value

‘Свойства Text и Value элемента

‘управления TextBox равнозначны

Пример 2
Программное создание элемента управления TextBox, размещение его по центру пользовательской формы, добавление всплывающей подсказки и текста по умолчанию.

Предположим, что текстовое поле предназначено для ввода даты, поэтому добавляем соответствующую подсказку, а в качестве текста по умолчанию – текущую дату.

Создаем новую пользовательскую форму с именем UserForm2. Если у вас другое имя формы, это не имеет значения, так как обращаться к ней будем с помощью ключевого слова «Me». Открываем модуль созданной формы и вставляем в него следующий код VBA Excel:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

Private Sub UserForm_Initialize()

Dim myTextBox As Control

‘Создаем новый TextBox и присваиваем его переменной

Set myTextBox = Me.Controls.Add(«Forms.TextBox.1»)

‘Задаем размеры и заголовок пользовательской формы

With Me

  .Height = 100

  .Width = 220

  .Caption = «Форма №2»

End With

‘Присваиваем значения свойствам текстового поля

With myTextBox

  .Width = 100

  .Height = 20

  ‘Left и Top рассчитаны для Excel 2016*

  .Left = 60 5

  .Top = 40 15

  ‘Добавляем всплывающую подсказку

  .ControlTipText = «Введите дату подписания договора»

  ‘Вставляем в поле текущую дату

  .Text = Format(Now, «DD.MM.YYYY»)

  ‘Выравниваем текст по центру

  .TextAlign = 2

End With

End Sub

В результате выполнения кода откроется следующая форма с всплывающей подсказкой при наведении на TextBox курсора:

TextBox с всплывающей подсказкой

* Значения свойств Left и Top рассчитаны для Excel 2016. Вычитаемые числа зависят от толщины границ пользовательской формы, которые в других версиях Excel могут отличаться.

Fedor_sumkin

0 / 0 / 0

Регистрация: 29.03.2015

Сообщений: 4

1

02.04.2015, 14:08. Показов 18735. Ответов 4

Метки нет (Все метки)


Студворк — интернет-сервис помощи студентам

у меня есть код ввода только цифр, при вводе буквы выходит ошибка, как сделать, чтобы выходило окно…к примеру, «Буквы нельзя!!» ??

Visual Basic
1
2
3
4
5
6
7
8
9
Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
If Chr(KeyAscii) = "-" And _
InStr(1, TextBox1.Text, "-") = 0 Then
 KeyAscii = 0
TextBox1.Text = "-" & TextBox1.Text
Else
 KeyAscii = IIf(InStr(1, "0123456789" & Chr(8), Chr(KeyAscii)) > 0, KeyAscii, 0)
End If
End Sub



0



Казанский

15136 / 6410 / 1730

Регистрация: 24.09.2011

Сообщений: 9,999

02.04.2015, 17:08

2

Непонятно, где тут «выходит ошибка», «переход к коду». При вводе буквы она просто игнорируется.
Чтобы появлялось сообщение, добавьте в конце

Visual Basic
1
If KeyAscii = 0 Then MsgBox "Буквы нельзя!!", vbExclamation



0



Vovchikvsb

466 / 123 / 61

Регистрация: 04.03.2015

Сообщений: 325

02.04.2015, 18:38

3

Лучший ответ Сообщение было отмечено Fedor_sumkin как решение

Решение

Если хотите запретить введение всего, кроме цифр, можно применить такой способ.

Visual Basic
1
2
3
Private Sub TextBox1_Change()
    If TextBox1.Text Like "*[!0-9]*" Then TextBox1.Text = TextBox1.Tag Else TextBox1.Tag = TextBox1.Text
End Sub

Добавлено через 1 час 19 минут
Чуток переделал. Теперь учитывает «-» в начале.

Visual Basic
1
2
3
4
Private Sub TextBox1_Change()
    If TextBox1.Text Like "[!-]*-" Then TextBox1.Text = "-" & Left(TextBox1.Text, Len(TextBox1.Text) - 1)
    If TextBox1.Text Like "?*[!0-9]*" Or TextBox1.Text Like "[!0-9-]" Then TextBox1.Text = TextBox1.Tag Else TextBox1.Tag = TextBox1.Text
End Sub



2



Fedor_sumkin

0 / 0 / 0

Регистрация: 29.03.2015

Сообщений: 4

03.04.2015, 14:47

 [ТС]

4

Спасибо большое всё работает. Я переделал твой код, так чтобы вводились только буквы, и у меня возникла проблема, вводятся лишь заглавные буквы или прописные, можно ли как-нибудь это исправить?

Visual Basic
1
If TextBox2.Text Like "?*[!А-Я]*" Then TextBox2.Text = TextBox2.Tag Else TextBox2.Tag = TextBox2.Tex

t



0



Vovchikvsb

466 / 123 / 61

Регистрация: 04.03.2015

Сообщений: 325

03.04.2015, 15:43

5

Можно сравнивать так

Visual Basic
1
UCase(TextBox2.Text) Like UCase("?*[!А-Я]*")



0



Как разрешить ввод только чисел в текстовое поле?

В Excel мы можем применить функцию проверки данных, чтобы в ячейки можно было вводить только числа, но иногда я хочу, чтобы в текстовое поле, а также в ячейки вводились только числа. Как принимать только числа в текстовом поле в Excel?

Разделите диапазон ячеек на число с помощью специальной функции «Вставить»


стрелка синий правый пузырь Разделите диапазон ячеек на число с помощью специальной функции «Вставить»

Следующий код VBA может помочь вам вводить числа, точку (.) И отрицательный знак только в текстовое поле, пожалуйста, сделайте следующее:

1. Создайте текстовое поле, нажав Застройщик > Вставить > Текстовое поле (элемент управления ActiveX), а затем нарисуйте текстовое поле, как вам нужно, см. снимок экрана:

текстовое поле документа только цифры 1

2. Затем щелкните текстовое поле правой кнопкой мыши и выберите Просмотреть код из контекстного меню, чтобы открыть Microsoft Visual Basic для приложений окна, а затем замените исходный код следующим кодом VBA в пустой модуль:

Код VBA: разрешить ввод только чисел в текстовое поле:

Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
    If KeyAscii > Asc("9") Or KeyAscii < Asc("0") Then
        If KeyAscii = Asc("-") Then
            If InStr(1, Me.TextBox1.Text, "-") > 0 Or _
               Me.TextBox1.SelStart > 0 Then KeyAscii = 0
        ElseIf KeyAscii = Asc(".") Then
            If InStr(1, Me.TextBox1.Text, ".") > 0 Then KeyAscii = 0
        Else
            KeyAscii = 0
        End If
    End If
End Sub

текстовое поле документа только цифры 2

3. Затем сохраните и закройте окно кода и выйдите из Режим проектирования, теперь в текстовое поле можно вводить только числа, символ точки и знак минуса, см. снимок экрана:

текстовое поле документа только цифры 3


Статьи по теме:

Как применить проверку орфографии в текстовом поле?

Как изменить цвет текстового поля в зависимости от значения в Excel?

Как вставить картинку в текстовое поле?

Как установить значение по умолчанию в текстовом поле?


Лучшие инструменты для работы в офисе

Kutools for Excel Решит большинство ваших проблем и повысит вашу производительность на 80%

  • Снова использовать: Быстро вставить сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма …
  • Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон
  • Объединить ячейки / строки / столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки / столбцы… Предотвращение дублирования ячеек; Сравнить диапазоны
  • Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор …
  • Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое …
  • Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии
  • Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом …
  • Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF
  • Более 300 мощных функций. Поддерживает Office/Excel 2007-2021 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.

вкладка kte 201905


Вкладка Office: интерфейс с вкладками в Office и упрощение работы

  • Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
  • Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
  • Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!

офисный дно

Комментарии (3)


Оценок пока нет. Оцените первым!

Время создания: 16.03.2019 23:43

Текстовые метки: Excel, TextBox, VBA, текстбокс

Раздел: !Закладки — VBA — Форма

Запись: xintrea/mytetra_db_adgaver_new/master/base/151440704601ozzomq3n/text.html на raw.githubusercontent.com

Элемент управления TextBox

TextBox используется для ввода/вывода текста, который в последующем используется в программе, или для вывода результатов расчетов программы. Текст, введенный в поле, обычно в программе преобразуется либо в числа, либо в формулы.

рис . 1.1 Элемент управления Textbox на панели ToolBox

рис. 1.2 Элемент управления Textbox на форме

Основные свойства элемента упраления TextBox: 

Свойство

Назначение

AutoSize

Определяет,   изменяет ли объект автоматически размеры, чтобы показать   его все содержание.Допустимые   значения:True —   Автоматически изменяет размеры контроля, чтобы показать   его все содержание.False —   Держит размер контроля постоянным.

AutoTab

Определяет,   происходит ли автоматическая табуляция, когда пользователь вводит   максимальное допустимое число символовДопустимые   значения:True —   табуляция происходит.False —   табуляция не происходит (значение по умолчанию).

AutoWordSelect

Определяет,   что являются (слово или знак) основной единицей, используемой,   чтобы определить выбор.Допустимые   значения:True —   Использует слово как основную единицу (значение по умолчанию).False —   Использует знак как основную единицу.

BackColor

Определяет   цвет фона объекта.Параметры:Вы можете   использовать любое целое число, которое представляет правильный цвет.   Вы можете также определить цвет при использовании функции   RGB с красными, зелеными, и синими цветными компонентами. Значение   каждого цветного компонента — целое число, которое колеблется   от нуля до 255. Например, Вы можете определить цвет, синего   как целочисленное значение 4966415 или как красные, зеленые,   и синие цветные компоненты 15, 200, 75.Комментарии:   Вы можете только видеть цвет фона объекта, если свойство BackStyle   установлено в fmBackStyleOpaque.

BackStyle

Устанавливает фоновый   стиль для объекта.Параметры   настройки для fmBackStyle:

  • fmBackStyleTransparent=        0 — Фон прозрачен
  • fmBackStyleOpaque =1 —        Фон непрозрачен (значение по умолчанию).

Комментарии:   Свойство BackStyle определяет, прозрачно ли управление.   Если BackStyle — fmBackStyleOpaque, управление не прозрачно,   и Вы ничего не можете видеть позади управления на форме.   Если BackStyle — fmBackStyleTransparent, Вы можете видеть через   управление и смотреть на что-нибудь  на форме,   расположенной позади управления.

BorderColor

Определяет   цвет границы объектаПараметры:   Вы можете использовать любое целое число, которое представляет   правильный цвет. Вы можете также определить цвет при использовании   функции RGB с красными, зелеными, и синими цветными компонентами.   Значение каждого цветного компонента — целое число, которое колеблется   от нуля до 255. Комментарии: Чтобы использовать свойство   BorderColor, свойство BorderStyle должно быть установлено в значение   кроме fmBorderStyleNone. BorderStyle использует BorderColor, чтобы определить   выделяющие цвета. 

BorderStyle

Определяет   тип границы, используемой управлением или формой.fmBorderStyleNone=0 —   У управления нет никакой видимой линии обрамленияfmBorderStyleSingle   = 1 — У управления есть граница одиночной линии.Значение   по умолчанию для ComboBox, Кадра, Метки, Окна списка или   TextBox 0 (Ни один). Значение по умолчанию для Изображения 1   (Сингл).

CanPaste

Определяет,   содержит ли Буфер обмена данные, которые поддерживает объект.Допустимые   значения:True — Объект   под курсором мыши может получить информацию, вставленную от Буфера   обмена (значение по умолчанию).False —   Объект под курсором мыши не может получить информацию, вставленную   от Буфера обмена.

Text

Возвращает   текст, содержащийся в поле 

Visible

Допустимые   значения:True (поле   отображается во время выполнения программы)False (в   противном случае) 

Enabled

Допустимые   значения:True   (пользователь непосредственно может вносить изменения в содержание   поля)False (в   противном случае) 

Multiline

Допустимые   значения:True   (устанавливается многострочный режим ввода текста)False   (однострочный режим) 

WordWrap

Допустимые   значения:True   (устанавливается режим автоматического переноса)False (в   противном случае) 

AutoSize

Допустимые   значения:True   (устанавливается режим автоматического изменения размера поля так, чтобы весь   вводимый текст помещался в нем)False   (устанавливаетя фиксированный размер поля) 

ScrollBars

Устанавливает   режим отображения в поле полос прокрутки. Допустимые значения:

  • fmScrollBarsNone (не выводить        полос прокрутки)
  • fmScrollBarsHorizontal        (выводить горизонтальную полосу прокрутки)
  • fmScrollBarsVertical        (выводить вертикальную полосу прокрутки)
  • fmScrollBarsBoth (выводить        горизонтальную и вертикальную полосы прокрутки)

SelLenghtSelStartSelText

Эти свойства   характеризуют выделенный в поле фрагмент текста (длина, начало   и сам фрагмент текста соответственно) 

MaxLenght

Устанавливает   максимальное допустимое количество вводимых в поле символов.   Если это свойство равно 0, то нет ограничений   на вводимое количество символов. 

PasswordChar

Устанавливает   символ,отображаемый при вводе пароля. Если это свойство   определено, то вместо вводимых символов в поле будет отображаться   установленный символ 

 Ввод в TextBox только определенных символов:

Иногда требуется, чтобы в текстовое поле можно было вводить только определенные символы, например числа, в этом случае поможет следующий код:

Function OnlyMySymbols (Symbol As Integer, Pattern as string) as Integer
If InStr (Pattern & Chr (8), Chr (Symbol)) > 0 Then
OnlyMySymbols = Symbol
Else
OnlyMySymbols = 0
End If
End Function

Применяется код так, если в поле Textbox1 необходимо разрешить введение только чисел:

Private Sub Textbox1_KeyPress (KeyAscii As Integer)
KeyAscii = OnlyMySymbols (KeyAscii, “0123456789.»)
End Sub

Быстрое заполнение полей TextBox:

Sub All_TextBoxes()

    Dim li As Long

    For li = 1 To 10

        UserForm1.Controls(“TextBox” & li).Value = li

    Next li

End Sub

Недостаток данного метода: имена элементов должны строго соответствовать используемым в коде и лишь нумерация на конце имени должна различаться.

В примере TextBox с именами от “TextBox1″ до “TextBox10″ будут подставлены значения номеров самих TextBox.

Достоинства данного метода:  В зависимости от имени можно проделывать различные действия: стирать значения, менять свойства элементов и т.д.

Обзорная статья про элементы управления предоставлена здесь

Так же в этом разделе:

  • Элементы управления VBA: название, значок, описание
  • Элементы управления VBA, добавление элементов управления на форму
  • TabStrip
  • Multipage
  • Image
  • RefEdit
  • Label
  • TextBox
  • Combobox
  • ListBox
  • TextBox, Frame, CheckBox
  • CheckBox
  • OptionButton
  • Frame
  • CommandButton
  • ToggleButton
  • ScrollBar
  • SpinButton
  • Использование классов для элементов управления на форме
  • Проверка ввода числа в текстовое поле на форме VBA
  • ‘==================== Проверка ввода
  • Как убрать заголовок у UserForm VBA
  • Как быстро заполнить/очистить элементы на форме(TextBox-ы, ComboBox-ы)
  • VBA/Listbox прокрутка колесиком мыши
  • Вертикальный скроллинг по ListBox
  • Высота строки по содержимому в ListView vba
  • Общие сведения о формах, элементах управления форм и элементах ActiveX на листе
  • Создание массива контролов в VBA, Управление массивом контролов по событию
  • программное создание контролов, MS Access
  • Обращение к контролам с помощью объекта «Controls»
  • Календарь на форме
  • Визуализация работы макроса при помощи прогресс-бара
  • Отобразить процесс выполнения
  • Позиционирование формы возле ячейки Excel 2007+ без Win API (VBA)
  • Определение разрешения экрана

MyTetra Share v.0.58

Яндекс индекс цитирования

  • #2

Try putting the code below (from Ozgrid) in the Userforms module.

Code:

Private Sub TextBox1_Change()
    If TypeName(Me.ActiveControl) = "TextBox" Then
        With Me.ActiveControl
            If Not IsNumeric(.Value) And .Value <> vbNullString Then
                MsgBox "Sorry, only numbers allowed"
                .Value = vbNullString
            End If
        End With
    End If
End Sub

  • #3

Try putting the code below (from Ozgrid) in the Userforms module.

Code:

Private Sub TextBox1_Change()
    If TypeName(Me.ActiveControl) = "TextBox" Then
        With Me.ActiveControl
            If Not IsNumeric(.Value) And .Value <> vbNullString Then
                MsgBox "Sorry, only numbers allowed"
                .Value = vbNullString
            End If
        End With
    End If
End Sub

The problem with a Change event only procedure is that it will not prevent a user from pasting in bad data. In addition, I do not like the idea of popping that MessageBox up with every mistype. The following coordinated event code procedures (and one global event variable) will allow only proper numeric values in the TextBox whether typed or pasted in. Note the two colored lines of code… the OP did not describe what he meant by «numeric input… digits only or floating point numbers, so I provided code for either. Uncomment the red line of code for digits only OR uncomment the blue line of code for floating point numbers (only uncommen one of the lines of code and leave the other commented out).

Code:

Dim LastPosition As Long
 
Private Sub TextBox1_Change()
  Static LastText As String
  Static SecondTime As Boolean
  If Not SecondTime Then
    With TextBox1
     ' Digits Only
     'If .Text Like "*[!0-9]*" Then
     ' Floating Point Numbers
     If .Text Like "*[!0-9.]*" Or .Text Like "*.*.*" Then
        Beep
        SecondTime = True
        .Text = LastText
        .SelStart = LastPosition
      Else
        LastText = .Text
      End If
    End With
  End If
  SecondTime = False
End Sub
 
Private Sub TextBox1_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, _
                               ByVal X As Single, ByVal Y As Single)
  With TextBox1
    LastPosition = .SelStart
    'Place any other MouseDown event code here
  End With
End Sub
 
Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
  With TextBox1
    LastPosition = .SelStart
    'Place any other KeyPress checking code here
  End With
End Sub

Last edited: Dec 25, 2013

ZVI

ZVI

MrExcel MVP


  • #4

This code allows typing of digits & dot symbol and block others:

Rich (BB code):

Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
 
  Select Case KeyAscii
 
    Case 48 To 59
      ' Allow digits - do nothing
 
    Case 46
      ' Allow only one dot symbol
      If InStr(ActiveControl, ".") Then KeyAscii = 0
 
    Case Else
      ' Block others
      KeyAscii = 0
 
  End Select
 
End Sub

Note: Pasting from another control is not controlled

Last edited: Dec 25, 2013

  • #5

This code allows typing of digits & dot symbol and block others:

Rich (BB code):

Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
 
  Select Case KeyAscii
 
    Case 48 To 59
      ' Allow digits - do nothing
 
    Case 46
      ' Allow only one dot symbol
      If InStr(ActiveControl, ".") Then KeyAscii = 0
 
    Case Else
      ' Block others
      KeyAscii = 0
 
  End Select
 
End Sub

As I pointed out to MARK858 for the code he posted, your code also allows the user to paste in bad data. See the code I posted in Message #3 for a method that gets around that problem.

ZVI

ZVI

MrExcel MVP


  • #6

Thanks Rick! I’ve added the note to my code.
To solve the pasting issue you can use this additional code:

Rich (BB code):

Private Sub TextBox1_Enter()
  With New DataObject
    .GetFromClipboard
    .SetText Trim(Str(Val(.GetText)))
    .PutInClipboard
  End With
End Sub

Trim(Str(… )) gives independence from local decimal separator like comma

Last edited: Dec 25, 2013

  • #7

To solve the pasting issue you can use this additional code:

Code:

Private Sub TextBox1_Enter()
   With New DataObject
     .GetFromClipboard
     .SetText Trim(Str(Val(.GetText)))
     .PutInClipboard
   End With
End Sub

I see two problems with that solution. First, on my XL2010 workbook…. true, using that code stops CTRL+V from being able to paste bad data that was previously copied into the clipboard buffer, but two blank spaces get placed into the TextBox instead. Second, and more importantly, because the code is located in the Enter event, it will not stop a user from bringing up the UserForm, then switching to a different window and copying bad data into the Clipboard buffer, then returning to the TextBox and pasting it in at that point. True, that is not something one would expect a user to do, but more than likely, any subsequent code would either crash or output bad results if the user did. I’m still pushing for my solution in Message #3… it should be completely foolproof (it was developed and debugged many, many years ago for use in the compiled version of VB and later adapted to the minor differences between the old VB’s Forms and Excel’s VBA UserForms).

ZVI

ZVI

MrExcel MVP


  • #8

Nice code Rick, thanks for sharing!
BTW, supporting of negative numbers would be useful too :)
Regards,
Vlad

  • #9

Nice code Rick, thanks for sharing!

You are quite welcome… I am glad you liked it.

BTW, supporting of negative numbers would be useful too :)

No problem… that is one of the nice things about the structure of my code, it is easy to modify for different conditions. Here is the code with two new color sections added to allow the digits only (purple) and the floating point numbers (green) to have a leading plus or minus sign (as before, uncomment the one you want and make sure the others are commented out)…

Rich (BB code):

Dim LastPosition As Long
 
Private Sub TextBox1_Change()
  Static LastText As String
  Static SecondTime As Boolean
  If Not SecondTime Then
    With TextBox1
     ' Digits Only (no plus or minus)
     'If .Text Like "*[!0-9]*" Then
     ' Digits Only (plus or minus allowed)
     'If .Text Like "*[!0-9+-]*" Or .Text Like "?*[+-]*" Then
     ' Floating Point Numbers (no plus or minus)
     'If .Text Like "*[!0-9.]*" Or .Text Like "*.*.*" Then
     ' Floating Point Numbers (plus or minus allowed)
     If .Text Like "*[!0-9.+-]*" Or .Text Like "?*[+-]*" Or .Text Like "*.*.*" Then
        Beep
        SecondTime = True
        .Text = LastText
        .SelStart = LastPosition
      Else
        LastText = .Text
      End If
    End With
  End If
  SecondTime = False
End Sub
 
Private Sub TextBox1_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, _
                               ByVal X As Single, ByVal Y As Single)
  With TextBox1
    LastPosition = .SelStart
    'Place any other MouseDown event code here
  End With
End Sub
 
Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
  With TextBox1
    LastPosition = .SelStart
    'Place any other KeyPress checking code here
  End With
End Sub

  • #10

Rick, that is a neat and comprehensive bit of code. Filed away for future reference.

Have a great Christmas

Ввод в TextBox числовых значений.

Amator

Дата: Воскресенье, 03.03.2019, 16:02 |
Сообщение № 1

Группа: Проверенные

Ранг: Форумчанин

Сообщений: 107


Репутация:

0

±

Замечаний:
0% ±


Excel 2007

Здравствуйте. Прошу помощи. В файле на UserForm5 имеется много текстбоксов , в которые вводятся числовые значения. Если случайно вводится буква — ошибка, и все сначала. Необходимо для TextBox2 — TextBox217 разрешить ввод цифр и запятой (для удобства английская раскладка). Для такого количества текстбоксов, наверное, это можно реализовать с помощю модуля класса. Но это мне не под силу.Заранее спасибо.

 

Ответить

krosav4ig

Дата: Воскресенье, 03.03.2019, 16:21 |
Сообщение № 2

Группа: Друзья

Ранг: Старожил

Сообщений: 2346


Репутация:

989

±

Замечаний:
0% ±


Excel 2007,2010,2013

Amator, вместо textbox используйте microsoft masked edit control 6.0 (msmask32.ocx 6.0.84.18), в нем можно установить маску ввода


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460

 

Ответить

Michael_S

Дата: Воскресенье, 03.03.2019, 18:12 |
Сообщение № 3

Группа: Друзья

Ранг: Старожил

Сообщений: 2012


Репутация:

373

±

Замечаний:
0% ±


Excel2016

В файле на UserForm5 имеется много текстбоксов

Файла, в котором находится UserForm5, в которой много текстбоксов не видно.
Наверно скрытый?

 

Ответить

Amator

Дата: Понедельник, 04.03.2019, 22:39 |
Сообщение № 4

Группа: Проверенные

Ранг: Форумчанин

Сообщений: 107


Репутация:

0

±

Замечаний:
0% ±


Excel 2007

Здравствуйте. Во вложении пример с формой ввода. Для текстбоксов необходимо разрешить ввод только цифр и запятой.

К сообщению приложен файл:

111.xlsm
(32.8 Kb)

 

Ответить

Pelena

Дата: Вторник, 05.03.2019, 08:54 |
Сообщение № 5

Группа: Админы

Ранг: Местный житель

Сообщений: 18797


Репутация:

4284

±

Замечаний:
±


Excel 2016 & Mac Excel

В логику особо не вдавалась, скорей всего, само заполнение массива можно оптимизировать.
Посмотрите такой вариант: при вводе «посторонних» символов значение TextBox очищается

К сообщению приложен файл:

6542663.xlsm
(29.5 Kb)


«Черт возьми, Холмс! Но как??!!»
Ю-money 41001765434816

 

Ответить

Amator

Дата: Вторник, 05.03.2019, 13:42 |
Сообщение № 6

Группа: Проверенные

Ранг: Форумчанин

Сообщений: 107


Репутация:

0

±

Замечаний:
0% ±


Excel 2007

Pelena, Большое спасибо. Ваш вариант подходит.

 

Ответить

Like this post? Please share to your friends:
  • Ввод чисел в ячейки таблицы excel
  • Ввод часто повторяющихся фрагментов текста word 2016
  • Ввод часов в excel
  • Ввод целое число в excel
  • Ведение поставщиков в excel