Добрый день! Вроде всё просто, где-то, наверное, небольшая ошибка. Но никак не могу понять что не так: Говорит "compile error: expected array" на строку [vba]
Код
ReDim Articuls(i1_n)
[/vba] в следующем макросе: [vba]
Код
Sub Вставка_Фото_с_первого_листа_в_файл() Dim i As Long, i1 As Long Dim sht As Worksheet Dim NameRazdel As String Dim Stolbec As Integer, Stolbec2 As Integer Dim Articuls As String, Fotos As String Dim kol As Long
NameRazdel = InputBox("Введите наименование раздела", "Наименование раздела", "Розетки и выключатели.") Stolbec = InputBox("Введите номер столбца, в котором необходимо добавить данные", "Столбец редактирования данных", "8") Stolbec2 = InputBox("Введите номер столбца на 1м листе, откуда извлекаем данные", "Столбец извлекаемых данных", "10") Time_1 = Timer i1_n = Worksheets(1).Cells(Rows.Count, 3).End(xlUp).Row ReDim Articuls(i1_n) ReDim Fotos(i1_n) For i1 = 1 To i1_n Articuls(i1) = Worksheets(1).Cells(i1, 3) Fotos(i1) = Worksheets(1).Cells(i1, Stolbec2) Next i1 For Each sht In ActiveWorkbook.Worksheets If sht.Cells(1, 1) = NameRazdel Then Application.ScreenUpdating = False i_n = sht.Cells(Rows.Count, 3).End(xlUp).Row For i = 3 To i_n If sht.Cells(i, Stolbec) = "" Then For i1 = 1 To i1_n If sht.Cells(i, 3) = Articuls(i1) Then sht.Cells(i, Stolbec) = Fotos(i1) kol = kol + 1 End If Next i1 End If Next i End If Next sht Application.ScreenUpdating = True time_ = Time_1 - Timer Time_delta = Format(time_ / 24 / 60 / 60, "hh\ч mm\м ss\с") MsgBox ("Выполнено за " & Time_delta & Chr(13) & "Количество добавленных фотографий :" & kol) End Sub
[/vba]
Добрый день! Вроде всё просто, где-то, наверное, небольшая ошибка. Но никак не могу понять что не так: Говорит "compile error: expected array" на строку [vba]
Код
ReDim Articuls(i1_n)
[/vba] в следующем макросе: [vba]
Код
Sub Вставка_Фото_с_первого_листа_в_файл() Dim i As Long, i1 As Long Dim sht As Worksheet Dim NameRazdel As String Dim Stolbec As Integer, Stolbec2 As Integer Dim Articuls As String, Fotos As String Dim kol As Long
NameRazdel = InputBox("Введите наименование раздела", "Наименование раздела", "Розетки и выключатели.") Stolbec = InputBox("Введите номер столбца, в котором необходимо добавить данные", "Столбец редактирования данных", "8") Stolbec2 = InputBox("Введите номер столбца на 1м листе, откуда извлекаем данные", "Столбец извлекаемых данных", "10") Time_1 = Timer i1_n = Worksheets(1).Cells(Rows.Count, 3).End(xlUp).Row ReDim Articuls(i1_n) ReDim Fotos(i1_n) For i1 = 1 To i1_n Articuls(i1) = Worksheets(1).Cells(i1, 3) Fotos(i1) = Worksheets(1).Cells(i1, Stolbec2) Next i1 For Each sht In ActiveWorkbook.Worksheets If sht.Cells(1, 1) = NameRazdel Then Application.ScreenUpdating = False i_n = sht.Cells(Rows.Count, 3).End(xlUp).Row For i = 3 To i_n If sht.Cells(i, Stolbec) = "" Then For i1 = 1 To i1_n If sht.Cells(i, 3) = Articuls(i1) Then sht.Cells(i, Stolbec) = Fotos(i1) kol = kol + 1 End If Next i1 End If Next i End If Next sht Application.ScreenUpdating = True time_ = Time_1 - Timer Time_delta = Format(time_ / 24 / 60 / 60, "hh\ч mm\м ss\с") MsgBox ("Выполнено за " & Time_delta & Chr(13) & "Количество добавленных фотографий :" & kol) End Sub