Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Неполное суммирование по столбцу и runtime error 1004. - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Неполное суммирование по столбцу и runtime error 1004. (Макросы/Sub)
Неполное суммирование по столбцу и runtime error 1004.
Влад777 Дата: Вторник, 16.02.2016, 12:22 | Сообщение № 1
Группа: Пользователи
Ранг: Участник
Сообщений: 61
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Добрый день!

Вылезли две ошибки. Есть такая часть макроса:

[vba]
Код

Set wb = ActiveWorkbook
Set sh = ActiveWorkbook.ActiveSheet
LastCell = sh.UsedRange.Rows.Count

For rr = 2 To LastCell
If sh.cells(rr, "G") = "" Then
If sh.cells(rr, "B") <> "" Then 'что бы столбец с именем файла не был пуст
filee = sh.cells(rr, "B").Value & ".xls"

Set wb2 = Workbooks.Open("C:\Users\Admin\Documents\Таможня\2-й этап\База\" & filee)
Set sh2 = wb2.Sheets(1)
iET = sh2.cells(Rows.Count, 63).End(xlUp).Row
sum1 = WorksheetFunction.Sum(sh2.Range("CS2").Resize(iET - 1, 1))
sum2 = WorksheetFunction.Sum(sh2.Range("CZ2").Resize(iET - 1, 1))

sh.cells(rr, "G") = sum1
sh.cells(rr, "I") = sum2
wb2.Close False
End If
End If
Next
[/vba]

Данная часть берет сумму по столбцу из другого файла и помещает ее в соответствующую ячейку.

1. В файле 1 макрос срабатывает, но, почему-то берет сумму только по 662 ячейкам столбца? В чем причина, почему он не показывает сумму по всему столбцу?

2. При работе со вторым файлом вылезло сообщение Runtime error 1004: application-defined or object-defined error? В чем может быть причина?
К сообщению приложен файл: 3144404.xlsm (23.0 Kb)
 
Ответить
СообщениеДобрый день!

Вылезли две ошибки. Есть такая часть макроса:

[vba]
Код

Set wb = ActiveWorkbook
Set sh = ActiveWorkbook.ActiveSheet
LastCell = sh.UsedRange.Rows.Count

For rr = 2 To LastCell
If sh.cells(rr, "G") = "" Then
If sh.cells(rr, "B") <> "" Then 'что бы столбец с именем файла не был пуст
filee = sh.cells(rr, "B").Value & ".xls"

Set wb2 = Workbooks.Open("C:\Users\Admin\Documents\Таможня\2-й этап\База\" & filee)
Set sh2 = wb2.Sheets(1)
iET = sh2.cells(Rows.Count, 63).End(xlUp).Row
sum1 = WorksheetFunction.Sum(sh2.Range("CS2").Resize(iET - 1, 1))
sum2 = WorksheetFunction.Sum(sh2.Range("CZ2").Resize(iET - 1, 1))

sh.cells(rr, "G") = sum1
sh.cells(rr, "I") = sum2
wb2.Close False
End If
End If
Next
[/vba]

Данная часть берет сумму по столбцу из другого файла и помещает ее в соответствующую ячейку.

1. В файле 1 макрос срабатывает, но, почему-то берет сумму только по 662 ячейкам столбца? В чем причина, почему он не показывает сумму по всему столбцу?

2. При работе со вторым файлом вылезло сообщение Runtime error 1004: application-defined or object-defined error? В чем может быть причина?

Автор - Влад777
Дата добавления - 16.02.2016 в 12:22
Влад777 Дата: Вторник, 16.02.2016, 12:27 | Сообщение № 2
Группа: Пользователи
Ранг: Участник
Сообщений: 61
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Не могу присоединить файл 1, т.к. получается больше 100 кб даже в архиве.
 
Ответить
СообщениеНе могу присоединить файл 1, т.к. получается больше 100 кб даже в архиве.

Автор - Влад777
Дата добавления - 16.02.2016 в 12:27
Влад777 Дата: Вторник, 16.02.2016, 12:37 | Сообщение № 3
Группа: Пользователи
Ранг: Участник
Сообщений: 61
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
_Boroda_, Там, где выдает ошибку - заполненных ячеек нет...Я понял...Подскажите логику связи 63 столбца...При подсчете суммы он ориентируется на него (зачем :(?)? А можно избавится от такой связи? Или легче задать столбец, где по умолчанию есть все записи?
 
Ответить
Сообщение_Boroda_, Там, где выдает ошибку - заполненных ячеек нет...Я понял...Подскажите логику связи 63 столбца...При подсчете суммы он ориентируется на него (зачем :(?)? А можно избавится от такой связи? Или легче задать столбец, где по умолчанию есть все записи?

Автор - Влад777
Дата добавления - 16.02.2016 в 12:37
_Boroda_ Дата: Вторник, 16.02.2016, 12:57 | Сообщение № 4
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16666
Репутация: 6478 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
При подсчете суммы он ориентируется на него (зачем :(?)?

А я знаю? Вы сами так написали вот здесь
iET = sh2.cells(Rows.Count, 63).End(xlUp).Row
sum1 = WorksheetFunction.Sum(sh2.Range("CS2").Resize(iET - 1, 1))

iET равно номеру последней заполненной ячейки столбца 63. Сумма считается с CS2 вниз на (iET - 1) строку.
Или легче задать столбец, где по умолчанию есть все записи?
Совершенно верно. Измените 63 на нужный номер.


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
Сообщение
При подсчете суммы он ориентируется на него (зачем :(?)?

А я знаю? Вы сами так написали вот здесь
iET = sh2.cells(Rows.Count, 63).End(xlUp).Row
sum1 = WorksheetFunction.Sum(sh2.Range("CS2").Resize(iET - 1, 1))

iET равно номеру последней заполненной ячейки столбца 63. Сумма считается с CS2 вниз на (iET - 1) строку.
Или легче задать столбец, где по умолчанию есть все записи?
Совершенно верно. Измените 63 на нужный номер.

Автор - _Boroda_
Дата добавления - 16.02.2016 в 12:57
Влад777 Дата: Вторник, 16.02.2016, 13:27 | Сообщение № 5
Группа: Пользователи
Ранг: Участник
Сообщений: 61
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
_Boroda_, Спасибо большое! Чувствовал, что с 63 какие-то проблемы, но понять в чем дело не мог...
 
Ответить
Сообщение_Boroda_, Спасибо большое! Чувствовал, что с 63 какие-то проблемы, но понять в чем дело не мог...

Автор - Влад777
Дата добавления - 16.02.2016 в 13:27
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Неполное суммирование по столбцу и runtime error 1004. (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!