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

Вход

Регистрация

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

 

= Мир MS Excel/Использование автосуммы из другого файла - Мир MS Excel

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

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

Помогите создать макрос (2007 Эксель) для решения следующей задачи. Есть файл "Пример1". В нем необходимо найти первую пустую ячейку в 7-м столбце, открыть файл с названием из 2-го столбца данной строки (все файлы в одной папке с расширением xls). Необходимо из открытого файла в первую пустую ячейку в 7-м столбце файла "Пример1" вставить сумму по столбцу BK и на этой же строке в столбце I вставить сумму по столбцу BG и закрыть файл из которого мы брали суммы по столбцам.

Помогите кто может. Предстоит огромная работа - хочу автоматизировать.
К сообщению приложен файл: 5283849.xlsx (9.3 Kb) · 2501145.xlsx (36.6 Kb)
 
Ответить
СообщениеДобры день!

Помогите создать макрос (2007 Эксель) для решения следующей задачи. Есть файл "Пример1". В нем необходимо найти первую пустую ячейку в 7-м столбце, открыть файл с названием из 2-го столбца данной строки (все файлы в одной папке с расширением xls). Необходимо из открытого файла в первую пустую ячейку в 7-м столбце файла "Пример1" вставить сумму по столбцу BK и на этой же строке в столбце I вставить сумму по столбцу BG и закрыть файл из которого мы брали суммы по столбцам.

Помогите кто может. Предстоит огромная работа - хочу автоматизировать.

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

Excel 2007
Никто не может помочь?
 
Ответить
СообщениеНикто не может помочь?

Автор - Влад777
Дата добавления - 29.12.2014 в 10:59
JayBhagavan Дата: Понедельник, 29.12.2014, 11:07 | Сообщение № 3
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 188
Репутация: 27 ±
Замечаний: 0% ±

Excel 2010
Влад777, думаю, что могут. Только:
1) задача сделать не на раз-два, имхо;
2) не все свободны или отдыхают уже;
3) если срочно, то, думаю, лучше в раздел "фриланс" обратиться.
Про себя. Задача не зацепила, потому особого желания её делать нет. Если буду изнывать от безделья, то, возможно, попытаюсь помочь. ДобРа.


Языком ты или построишь жизнь,или разрушишь ее до основания.Думайте что говорите.(с)А.Хакимов

Сообщение отредактировал JayBhagavan - Понедельник, 29.12.2014, 11:07
 
Ответить
СообщениеВлад777, думаю, что могут. Только:
1) задача сделать не на раз-два, имхо;
2) не все свободны или отдыхают уже;
3) если срочно, то, думаю, лучше в раздел "фриланс" обратиться.
Про себя. Задача не зацепила, потому особого желания её делать нет. Если буду изнывать от безделья, то, возможно, попытаюсь помочь. ДобРа.

Автор - JayBhagavan
Дата добавления - 29.12.2014 в 11:07
Leanna Дата: Понедельник, 29.12.2014, 11:09 | Сообщение № 4
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 189
Репутация: 78 ±
Замечаний: 0% ±

excel 2010
Сейчас глянем.


Лучше день потерять, потом за пять минут долететь!
 
Ответить
СообщениеСейчас глянем.

Автор - Leanna
Дата добавления - 29.12.2014 в 11:09
Leanna Дата: Понедельник, 29.12.2014, 11:39 | Сообщение № 5
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 189
Репутация: 78 ±
Замечаний: 0% ±

excel 2010
Пробуйте.
[vba]
Код
Sub Влад777()
Set wb = ActiveWorkbook
Set sh = ActiveWorkbook.ActiveSheet

rr = [G1].End(xlUp).Row + 1
filee = sh.Cells(rr, "B").Value & ".xls"

Set wb2 = Workbooks.Open(wb.Path & "\" & filee)
Set sh2 = wb2.Sheets(1)
iET = sh2.Cells(Rows.Count, 63).End(xlUp).Row
sum1 = WorksheetFunction.Sum(sh2.Range("BK2").Resize(iET - 1, 1))
sum2 = WorksheetFunction.Sum(sh2.Range("BG2").Resize(iET - 1, 1))

sh.Cells(rr, "G") = sum1
sh.Cells(rr, "I") = sum2
wb2.Close False
End Sub
[/vba]
К сообщению приложен файл: asfasag.rar (40.5 Kb)


Лучше день потерять, потом за пять минут долететь!
 
Ответить
СообщениеПробуйте.
[vba]
Код
Sub Влад777()
Set wb = ActiveWorkbook
Set sh = ActiveWorkbook.ActiveSheet

rr = [G1].End(xlUp).Row + 1
filee = sh.Cells(rr, "B").Value & ".xls"

Set wb2 = Workbooks.Open(wb.Path & "\" & filee)
Set sh2 = wb2.Sheets(1)
iET = sh2.Cells(Rows.Count, 63).End(xlUp).Row
sum1 = WorksheetFunction.Sum(sh2.Range("BK2").Resize(iET - 1, 1))
sum2 = WorksheetFunction.Sum(sh2.Range("BG2").Resize(iET - 1, 1))

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

Автор - Leanna
Дата добавления - 29.12.2014 в 11:39
Влад777 Дата: Понедельник, 29.12.2014, 11:47 | Сообщение № 6
Группа: Пользователи
Ранг: Участник
Сообщений: 61
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Подскажите пожалуйста, где прописывается путь к открываемым файлам?
 
Ответить
СообщениеПодскажите пожалуйста, где прописывается путь к открываемым файлам?

Автор - Влад777
Дата добавления - 29.12.2014 в 11:47
Leanna Дата: Понедельник, 29.12.2014, 11:56 | Сообщение № 7
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 189
Репутация: 78 ±
Замечаний: 0% ±

excel 2010
вот здесь [vba]
Код
wb.Path & "\" & filee
[/vba]


Лучше день потерять, потом за пять минут долететь!
 
Ответить
Сообщениевот здесь [vba]
Код
wb.Path & "\" & filee
[/vba]

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

Excel 2007
[vba]
Код
Set wb2 = Workbooks.Open(wb.Path & "C:\Users\Галина\Documents\База\" & filee)
[/vba]

Вот так правильно?
 
Ответить
Сообщение[vba]
Код
Set wb2 = Workbooks.Open(wb.Path & "C:\Users\Галина\Documents\База\" & filee)
[/vba]

Вот так правильно?

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

Excel 2007
Пишет. Рун тайм эррор: 1004. Не удалось найти C:\Users\Галина\Desktop\ТаможняC:\Users\Галина\Documents\База\.xls. Проверте правильность ввода имени и расположения файла.
 
Ответить
СообщениеПишет. Рун тайм эррор: 1004. Не удалось найти C:\Users\Галина\Desktop\ТаможняC:\Users\Галина\Documents\База\.xls. Проверте правильность ввода имени и расположения файла.

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

Excel 2007
Так, этим разобрался...Осталась ошибка в удвоении пути к файлу... C:\Users\Галина\Desktop\ТаможняC:\Users\Галина\Documents\База\.xls. Макрос почему к правильному пути прибаляет путь к папке, где расположен рабочий файл..
 
Ответить
СообщениеТак, этим разобрался...Осталась ошибка в удвоении пути к файлу... C:\Users\Галина\Desktop\ТаможняC:\Users\Галина\Documents\База\.xls. Макрос почему к правильному пути прибаляет путь к папке, где расположен рабочий файл..

Автор - Влад777
Дата добавления - 29.12.2014 в 12:08
Leanna Дата: Понедельник, 29.12.2014, 12:08 | Сообщение № 11
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 189
Репутация: 78 ±
Замечаний: 0% ±

excel 2010
вот так правильно
Код
Set wb2 = Workbooks.Open("C:\Users\Галина\Documents\База\" & filee)

Только у вас почему то имя не подцепилось из 2го столбца. там пусто?


Лучше день потерять, потом за пять минут долететь!
 
Ответить
Сообщениевот так правильно
Код
Set wb2 = Workbooks.Open("C:\Users\Галина\Documents\База\" & filee)

Только у вас почему то имя не подцепилось из 2го столбца. там пусто?

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

Excel 2007
Уже подцепил..там было пусто..
 
Ответить
СообщениеУже подцепил..там было пусто..

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

Excel 2007
Для второй строчки отлично срабатывает!!...А вот для третьей уже нет..просто ничего не происходит..
 
Ответить
СообщениеДля второй строчки отлично срабатывает!!...А вот для третьей уже нет..просто ничего не происходит..

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

Excel 2007
Ага...макрос настроен только на работу со второй строчкой...Он не ищет первую пустую ячейку в столбце B.
 
Ответить
СообщениеАга...макрос настроен только на работу со второй строчкой...Он не ищет первую пустую ячейку в столбце B.

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

Excel 2007
Независимо от наличия данных в столбце G он ставит сумму во вторую строку. Простите за опечатку - речь идет именно о столбце G, а не В
 
Ответить
СообщениеНезависимо от наличия данных в столбце G он ставит сумму во вторую строку. Простите за опечатку - речь идет именно о столбце G, а не В

Автор - Влад777
Дата добавления - 29.12.2014 в 12:18
Leanna Дата: Понедельник, 29.12.2014, 12:19 | Сообщение № 16
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 189
Репутация: 78 ±
Замечаний: 0% ±

excel 2010
Так вы же не сказали что вам цикл нужен по строкам))) Сейчас допишу.


Лучше день потерять, потом за пять минут долететь!
 
Ответить
СообщениеТак вы же не сказали что вам цикл нужен по строкам))) Сейчас допишу.

Автор - Leanna
Дата добавления - 29.12.2014 в 12:19
Leanna Дата: Понедельник, 29.12.2014, 12:28 | Сообщение № 17
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 189
Репутация: 78 ±
Замечаний: 0% ±

excel 2010
перебирает пустые ячейки в столбце G и вставляет суммы.
[vba]
Код
Sub Влад777()
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(wb.Path & "\" & filee)
Set sh2 = wb2.Sheets(1)
iET = sh2.Cells(Rows.Count, 63).End(xlUp).Row
sum1 = WorksheetFunction.Sum(sh2.Range("BK2").Resize(iET - 1, 1))
sum2 = WorksheetFunction.Sum(sh2.Range("BG2").Resize(iET - 1, 1))

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


Лучше день потерять, потом за пять минут долететь!
 
Ответить
Сообщениеперебирает пустые ячейки в столбце G и вставляет суммы.
[vba]
Код
Sub Влад777()
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(wb.Path & "\" & filee)
Set sh2 = wb2.Sheets(1)
iET = sh2.Cells(Rows.Count, 63).End(xlUp).Row
sum1 = WorksheetFunction.Sum(sh2.Range("BK2").Resize(iET - 1, 1))
sum2 = WorksheetFunction.Sum(sh2.Range("BG2").Resize(iET - 1, 1))

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

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

Excel 2007
Огромное спасибо!!!! Все работает....Благодарю за помощь, с наступающим Новым годом!!!!
 
Ответить
СообщениеОгромное спасибо!!!! Все работает....Благодарю за помощь, с наступающим Новым годом!!!!

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

Excel 2007
clap clap clap
 
Ответить
Сообщениеclap clap clap

Автор - Влад777
Дата добавления - 29.12.2014 в 12:33
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Использование автосуммы из другого файла (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

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