VBA преобразовать текстовое поле в целое число - PullRequest
0 голосов
/ 10 июня 2018

Я пытаюсь преобразовать запись в текстовое поле в целое число:

 Dim cplayers() As Variant: cplayers = Array ("Danny", "Freddy", "Billy", "Tommy")
 Dim i As Integer
 i = CInt(TextBox3)
 MsgBox (cplayers(i) & " is on first base.")

Когда я запускаю его сейчас, в окне сообщения всегда отображается «Дэнни на первой базе».поэтому он должен читать текстовое поле как пустое и предполагая, что запись равна 0.Что я должен изменить?

Ответы [ 2 ]

0 голосов
/ 11 июня 2018

Вы можете использовать текстовое поле ActiveX для импорта значения.

Для вставки: Вкладка разработчика> Вставка> Элементы управления ActiveX> Текстовое поле (элемент управления ActiveX)

Затем можно извлечь свое значение следующим образом:

Option Explicit
Sub Test()

Dim cplayers() As Variant: cplayers = Array("Danny", "Freddy", "Billy", "Tommy")
Dim i As Integer

i = TextBox1.Value
MsgBox cplayers(i) & " is on first base."

End Sub

Вы также можете обратиться к объекту, но это было бы излишним здесь.

0 голосов
/ 10 июня 2018

Поле, содержащее фактическую запись для текстового поля, выглядит как «TextBox3.text»

Dim cplayers() As Variant: cplayers = Array ("Danny", "Freddy", "Billy", "Tommy")
Dim i As Integer
i = CInt(TextBox3.text)
MsgBox (cplayers(i) & " is on first base.")

Существует также проверка, которая может помочь вам предотвратить неправильные входные данные в вычислениях.Вы можете использовать isNumeric(), чтобы определить, является ли введенное значение действительным числом, например If IsNumeric(TextBox3.text) Then

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...