Форум по VBA, Excel и Word

VBA, Excel => VBA, макросы в Excel => Тема начата: Посетитель от 07 июня 2022, 12:21

Название: VBA. For Each control variable on arrays must be Variant.
Отправлено: Посетитель от 07 июня 2022, 12:21
В цикле по файлам происходит ошибка: Compile error: For Each control variable on arrays must be Variant.

Ошибка происходит в этой строке:
For Each FileName In Files()

Переменная FileName объявлена так:
Dim FileName As String

Массив объявлен так:
Dim Files() As String

Почему происходит ошибка? Как исправить ошибку?
Название: Re: VBA. For Each control variable on arrays must be Variant.
Отправлено: Администратор от 08 июня 2022, 06:48
Чтобы двигаться по элементам массива с использованием For Each, у переменной должен быть тип данных Variant.
Правильно так объявить переменную "FileName":
Dim FileName
Название: Re: VBA. For Each control variable on arrays must be Variant.
Отправлено: Посетитель от 08 июня 2022, 08:16
Спасибо, проблема решена.