В последнее время я работаю над кодированием макроса Word в VBA, чтобы сэкономить время на определенных документах. Идея состоит в том, чтобы заполнить второй столбец таблицы процедурами, основанными на строке чисел из первого столбца. У меня есть одна функция, которая читает первый столбец, который работает нормально. Я передаю массив, содержащий эти данные, другой функции. Я проверял, что я проходил правильно. Моя проблема возникает, когда я пытаюсь заполнить массив для второго столбца на основе массива для первого столбца. У меня есть массив структур, действующих как своего рода «ключ»; каждый элемент «ключ» содержит строку чисел сравнить первый столбец в качестве одного из членов, и соответствующая процедуры, функции another.This выглядит примерно так:Заполнение массива в VBA условно
Sub myFunction(ByRef codesFromTable() As String, ByRef procedures() As String)
Dim key(3) As myType
Dim x As Integer
Dim y As Integer
key(0).code = "1234"
key(0).procedure = "Procedure 1"
key(1).code = "2345"
key(1).procedure = "Procedure 2"
key(2).code = "3456"
key(2).procedure = "Procedure 3"
For x = 0 To 5
For y = 0 To 2
If StrComp(codesFromTable(x), key(y).code = 0 Then
procedures(x) = key(y).procedure
Next y
Next x
Каждый раз, когда я проверить этот код на таблица, массив процедур заканчивается полностью заполняемым информацией из последнего элемента в массиве ключей. Любой вход будет ценным и оцененным.
Использование Следующие x и Следующие y – Whome
@Whome Будет ли это действительно иметь значение? У меня создалось впечатление, что ключевое слово Next - это увеличение счетчика в цикле. Кроме того, кажется, что счетчик увеличивается и что данные из последней итерации назначаются всем элементам массива процедур. Независимо от того, спасибо за ваш вклад. Я проверю это завтра и последую. – MisterTophatJones