Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.05.2011, 15:01   #31
Toffifee
Пользователь
 
Аватар для Toffifee
 
Регистрация: 11.05.2011
Сообщений: 59
По умолчанию

как это сделать?
Toffifee вне форума Ответить с цитированием
Старый 25.05.2011, 15:41   #32
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

Когда выдаст ошибку, жмите Debug - попадёте в редактор. Там откройте окно Locals (через меню View) и в этом окне можно посмотреть.
Но я думаю, скорее всего дело в имени листа - т.к. вот такой огрызок кода заработал, когда я имя листа скопировал из имени листа. Возможно, там какая буква латиницей была, не вникал...
Код:
Option Explicit

Dim wb As Workbook ' эта книга будет доступна из любого макроа модуля

Sub Создать_Ежедневный_Отчет()
Set wb = ActiveWorkbook ' ссылка на новую созданную книгу

Perenos 'вызываем второй макрос
End Sub

Sub Perenos()
Dim a(), oDict As Object, i&, x As Range, iFirstAddress$, ii&
Application.ScreenUpdating = False

With wb.Sheets("1С И ПРОЧЕЕ") ' переход на лист "1С и прочее" в новой книге
End With

Application.ScreenUpdating = True
End Sub
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Старый 25.05.2011, 15:46   #33
Toffifee
Пользователь
 
Аватар для Toffifee
 
Регистрация: 11.05.2011
Сообщений: 59
По умолчанию

Я так поняла он не может найти Листок "Бюджет" в этой книге, потому что его там и нет. Он же в книге "Едежневный отчет".

Хотя этот лист ведь мы копируем из Книги "С мая отчет"? который открыт, может с него тянуть данные?

Последний раз редактировалось Toffifee; 25.05.2011 в 15:55.
Toffifee вне форума Ответить с цитированием
Старый 25.05.2011, 16:03   #34
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

Можно и оттуда тянуть. Но как именно - точно не скажу, запутался вконец
Смотрите - если книга активна, можно брать без указания книги. Если неактивна - значит ранее нужно задать через set ссылку на эту книгу или сразу на этот лист в этой книге, а потом обращаться через ссылку.
Если ссылку задаём в одном макросе, а обращаться нужно из другого - делаем эту переменную публичной для этого модуля.
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Старый 25.05.2011, 16:22   #35
Toffifee
Пользователь
 
Аватар для Toffifee
 
Регистрация: 11.05.2011
Сообщений: 59
По умолчанию

Попробую всё разложить по полочкам, всё с самого начала.

1. У нас есть рабочая книга, в которой 53 листа. Называется она "Анализ прибыли". Вот в ней мы запускаем макрос Sub Создать_Ежедневный_Отчет().
Что делает этот макрос:
1. Берет 3 листа из книги "Анализ прибыли", (это листы: "КАССА ИТОГ", "1С И ПРОЧЕЕ", "АНАЛИЗ ПРИБЫЛИ").
2. Берет один лист - "Бюджет" из книги "С мая ИТОГ". Эта книга при копировании из неё листа просто открыта на компе. Вот этим куском кода макрос ищет эту открытую книгу и копирует из неё нужный листок:
Dim itogWB As Workbook
For Each itogWB In Workbooks
If InStr(itogWB.Name, "С") Then
itogWB.Sheets("Бюджет").Copy Before:=wb.Worksheets(1)

3. Всё, скопировали мы в общей сложности 4 листа, с 2-х разных книг. Вот их названия:
а) Бюджет
б) КАССА ИТОГ
в) 1С И ПРОЧЕЕ
г) АНАЛИЗ ПРИБЫЛИ
Эти 4 листа мы помещаем в новую книгу, которую создает макрос, и называет он её "Ежедневный отчет".


Теперь надо чтоб макрос работал уже с созданной книгой, которую он назвал "Ежедневный отчет". Он должен в ней цифры скопировать с одного листа (Бюджет) на другой (1С И ПРОЧЕЕ). Точнее подставить, руководствуясь списком городов, который называется "Spisok_gorodov" и лежит в папке "C:\Temp".

Вот в принципе и всё ))))))
Всё это должно запускаться одним макросом, нажатием на одну кнопку, которая будет располагаться в нашей главной рабочей книге "Анализ прибыли".
Toffifee вне форума Ответить с цитированием
Старый 25.05.2011, 16:34   #36
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

Эти три файла ( "Анализ прибыли", "С мая ИТОГ", "Spisok_gorodov" с обрезанными данными, оставьте 10 строк) можете выложить?
И чтоб там была текущая версия макроса
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Старый 25.05.2011, 16:37   #37
Toffifee
Пользователь
 
Аватар для Toffifee
 
Регистрация: 11.05.2011
Сообщений: 59
По умолчанию

"С мая итог" и "Spisok_gorodov" вложить могу спокойно, а вот "Анализ прибыли" никак не могу (((((((
Toffifee вне форума Ответить с цитированием
Старый 25.05.2011, 17:17   #38
Toffifee
Пользователь
 
Аватар для Toffifee
 
Регистрация: 11.05.2011
Сообщений: 59
Подмигивание

Всё, все 3 файла вложила.

В модуле первом работающая программа, которая создает "Едежневный отчет".

В во втором модуле тот который не работает и выдает ошибку. Вот ))

Spisok_gorodov.rar
С мая итог.rar
Анализ прибыли.rar
Toffifee вне форума Ответить с цитированием
Старый 25.05.2011, 17:48   #39
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

У меня всё корректно отработало, запускал Создать_Ежедневный_Отчет() из второго модуля. Который совмещённый.
Там только строка
Dim nsheet As Worksheet
лишняя, но и не мешает.
Файл создался, только у меня Эксель2000, поэтому не совсем чистый эксперимент
Почему у Вас не работает - не понятно...
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Старый 25.05.2011, 17:54   #40
Toffifee
Пользователь
 
Аватар для Toffifee
 
Регистрация: 11.05.2011
Сообщений: 59
По умолчанию

Да, я попробовала, у меня тоже вот на этих примерах что я отправила работает... а там не работает (((((((((
Toffifee вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Скопировать значение из определённой ячейки ТЕКУЩЕЙ СТРОКИ в определённую ячейку другого листа Павел-812 Microsoft Office Excel 12 12.07.2012 17:44
Ссылка ячеек одного листа на ячейки другого листа n0str0m0 Microsoft Office Excel 10 31.12.2011 12:11
отображение данных первого листа, при активации ячейки второго листа Akmal-Sharipov Microsoft Office Excel 4 03.12.2010 14:48
Формат ячейки равнялся формату ячейки из другого листа? Alexandrone Microsoft Office Excel 5 29.10.2010 00:08