Что такое (1) за сплит ()? - PullRequest
       1

Что такое (1) за сплит ()?

1 голос
/ 16 октября 2019

Не могли бы вы помочь мне понять, что такое (1) в конце функции ниже?

Split(objWS.Cells(1, ColumnNumber).Address, "$")(1)

1 Ответ

2 голосов
/ 16 октября 2019

Функция Split возвращает array, который фактически является списком значений. См. Здесь из документации:

Функция Split возвращает одномерный массив, начинающийся с нуля, который содержит указанное количество подстрок.

Значения в массивеможно получить доступ с помощью indexer , при этом вы указываете, что хотите получить доступ к элементу в определенной позиции в массиве.

В вашем случае вы возвращаете элемент с индексом 1, которыйявляется вторым элементом в массиве, потому что индекс массива начинается с 0.

На практике, если бы это был ваш массив длины 6:

This
is
an
array
of
values

Позиция 0 будет This, позиция 1 (в вашем случае) будет is, а позиция 5 будет values.

Кстати, эквивалент этого, записанного более длинным способом, составляет

Dim MyArray()
Dim MyItem

' Split the address and store it in MyArray
MyArray = Split(objWS.Cells(1, ColumnNumber).Address, "$")

' Get the second item from MyArray
MyItem = MyArray(1)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...