powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / VBA Excel ошибка 1004
3 сообщений из 3, страница 1 из 1
VBA Excel ошибка 1004
    #39363095
Guiza
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Приветствую!
написал мини макрос для копирования с одного листа на другой
Столкнулся с ошибкой "Application-defined or object-defined error"

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
Option Explicit
Sub test()
Dim i, j, s As Integer
Dim x As String
Dim arrXA() As Integer
Dim arrGodi As Variant

arrGodi = Array(25, 42, 59, 76, 93) 'столбцы в которых будет искаться информация


For s = LBound(arrGodi) To UBound(arrGodi)

'вначале запомним в какие строки не пустые. В них по идее содержиться информация о ХА
For i = 5 To 3685
        Sheets("Лист2").Select 'указываем лист от куда копируем
        x = ActiveSheet.Cells(i, arrGodi(s)).Value
        If x <> "" Then
            'проверяем, что массив инициализирован
            If IsNotEmptyArray(arrXA) Then
                'расширяем массив на 1 элемент
                ReDim Preserve arrXA(UBound(arrXA) + 1)
            Else
                'инициализируем массив первым элементом
                ReDim Preserve arrXA(0)
            End If
            'присваиваем элементу массива строку где содержится информация
            arrXA(UBound(arrXA)) = i
        End If
Next i

'теперь в строках запомненных в массиве arrXA пропишем значение ХА в конечной таблице
For j = LBound(arrXA) To UBound(arrXA)
    Sheets("лист1").Select 'указываем лист куда вставляем
    ActiveSheet.Cells(arrXA(j), arrGodi(s)).Value = "ХА"
Next j
Next s
End Sub

'функция проверки существования массива
Function IsNotEmptyArray(parArray As Variant) As Boolean
  On Error Resume Next
  IsNotEmptyArray = LBound(parArray) <= UBound(parArray)
End Function



строка ActiveSheet.Cells(arrXA(j), arrGodi(s)).Value = "ХА" вылетает с ошибкой 1004. Так и не могу понять почему
вот эта строка x = ActiveSheet.Cells(i, arrGodi(s)).Value проходит нормально

Модератор: Учимся использовать тэги оформления кода - FAQ
...
Рейтинг: 0 / 0
VBA Excel ошибка 1004
    #39363105
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Guizaстрока ActiveSheet.Cells(arrXA(j), arrGodi(s)).Value = "ХА" вылетает с ошибкой 1004.
Код: vbnet
1.
Debug.Print ActiveSheet.Name


GuizaТак и не могу понять почему вот эта строка x = ActiveSheet.Cells(i, arrGodi(s)).Value проходит нормально
Код: vbnet
1.
2.
tmp = arrXA(j)
ActiveSheet.Cells(tmp, arrGodi(s)).Value = "ХА"


?
...
Рейтинг: 0 / 0
VBA Excel ошибка 1004
    #39365339
Фотография VladConn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Guiza,

Определи ранг, в котором информация (подсказка .end(xldown), но есть и др. способы). Потом через copy/paste. Массивы оставь для 1969 года, тогда это было hot.
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / VBA Excel ошибка 1004
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]