Как избежать несоответствия типов с помощью функции разделения в Excel VBA?

avatar
rmbradburn
1 июля 2021 в 18:51
33
0
1

Я получаю ошибку времени выполнения 13 (несоответствие типов) при попытке использовать функцию разделения в Excel VBA. Я читал об этом ряд статей, но даже когда я использую пример из документации Microsoft (https://docs.microsoft.com/en-us/office/vba/language/reference/user- interface-help/split-function) я получаю ту же ошибку. Вот упрощенный код, который я пытаюсь заставить работать:

Sub SplitTest2()

Dim strSliceMe As String
Dim arrSliced() As Variant

strSliceMe = Range("A1").Value ' Cell A1 contains "Hello, world!"
arrSliced() = Split(strSliceMe, ", ")

Debug.Print arrSliced(1)

End Sub

Когда я запускаю это, я получаю несоответствие типов. После отладки я перехожу к этой строке:

arrSliced() = Split(strSliceMe, ", ")

Что я упустил?

Источник
Scott Craner
1 июля 2021 в 18:53
2

Dim arrSliced() As String

BigBen
1 июля 2021 в 18:56
3

Или Dim arrSliced As Variant, arrSliced = Split(strSliceMe, ", ").

BigBen
1 июля 2021 в 18:58
3

Боковое примечание: в документации MS, к сожалению, есть ошибки ... фрагмент из документации неверен.

rmbradburn
1 июля 2021 в 19:01
0

Оба ответа, кажется, решают это для меня. Большое спасибо за вашу помощь!

rmbradburn
1 июля 2021 в 19:02
0

+1 по поводу ошибок в документации MS. Я заметил несколько вещей, которые выглядели неправильно в этом посте, но я надеялся, что основная суть будет правильной. ой.

Ответы (0)