Мой код VBA для разделения текста и чисел не работает - PullRequest
0 голосов
/ 06 мая 2019

Я написал этот код для разделения текста и числа в Excel, но всякий раз, когда я запускаю его ... он не работает

  Public Function Strip(ByVal x As String, LeaveNums As Boolean) As Variant
   Dim y As String, z As String, n As Long
   For n = 1 To Len(x)
   y = Mid(x, n, 1)
   If LeaveNums = False Then
       If y Like "[A-Za-z ]" Then z = z & y 'False keeps Letters and spaces only
   Else
       If y Like "[0-9. ]" Then z = z & y   'True keeps Numbers and decimal points
   End If
   Next n
Strip = Trim(z)
End Function

1 Ответ

0 голосов
/ 06 мая 2019

Вы написали (скопировали?) Function, а не подпрограмму.Функции обычно используются для повторяющихся процессов и возвращают (если они написаны правильно) значения.Итак, вы вызываете функцию из подпрограммы, а затем что-то делаете со значением, возвращаемым функцией.Функция что-то делает с параметрами x и LeaveNums, как это делают формулы.
Фактически, вы можете писать функции и использовать их в качестве формул в своих рабочих листах Excel.

Вы можете вызвать этоФункция работает следующим образом (обратите внимание, это пример)

Sub Usefunction()

rslt = Strip("test this 1.01", True)

MsgBox rslt

End Sub

Это вернет «проверить это».Если вы установите логическое значение на False, функция возвратит «1.01».

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