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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 09.04.2011, 21:33   #11
СтаниславАВ
Форумчанин
 
Регистрация: 10.10.2010
Сообщений: 107
По умолчанию

Но поскольку макрос срабатывает неправильно. Он из другой книги в эту таблицу данные не подгружает и выдаёт ошибку. Я так думаю.
СтаниславАВ вне форума Ответить с цитированием
Старый 09.04.2011, 21:43   #12
VictorM
Старожил
 
Аватар для VictorM
 
Регистрация: 15.05.2008
Сообщений: 2,058
По умолчанию

Кстати и первый макрос Игоря работает!
Код:
Option Explicit
Public shHome As Worksheet 'база данных адресов (лист "Firms")
Public rowH As Integer 'количество используемых строк в базе
Public Sub InitPublicVars()
Set shHome = Workbooks("Репо (облигации).xls").Worksheets("Банки")
With shHome.UsedRange
rowH = .Rows.Count
End With
End Sub
только Public shHome As Integer я изменил, так как Вы говорите у Вас в оригинале т.е. Public shHome As Worksheet

а выдает ошибку он на то, что у Вас процедуры с одинаковыми именами
в Репо макросов с именем Public Sub InitPublicVars два, и во второй книге такое же имя присутствует, обе книги работают одновременно...
"Дайте людям рыбы, и вы накормите их на весь день; научите их ловить рыбу - и вы накормите их на всю жизнь"
"Большое спасибо" - Z261597841314, R208907249777, U447361470499

Последний раз редактировалось Stilet; 10.04.2011 в 19:16.
VictorM вне форума Ответить с цитированием
Старый 09.04.2011, 21:50   #13
СтаниславАВ
Форумчанин
 
Регистрация: 10.10.2010
Сообщений: 107
По умолчанию

Цитата:
Сообщение от VictorM Посмотреть сообщение
Кстати и первый макрос Игоря работает!
Код:
Option Explicit
Public shHome As Worksheet 'база данных адресов (лист "Firms")
Public rowH As Integer 'количество используемых строк в базе
Public Sub InitPublicVars()
Set shHome = Workbooks("Репо (облигации).xls").Worksheets("Банки")
With shHome.UsedRange
rowH = .Rows.Count
End With
End Sub
только Public shHome As Integer я изменил, так как Вы говорите у Вас в оригинале т.е. Public shHome As Worksheet
Выдаёт ошибку

Цитата:
Сообщение от VictorM Посмотреть сообщение
а выдает ошибку он на то, что у Вас процедуры с одинаковыми именами
в Репо макросов с именем Public Sub InitPublicVars два, и во второй книге такое же имя присутствует, обе книги работают одновременно...
В файле Репо (облигации) макросы не работают. Я их удалю. Просто макросы не работали, пытался из другого файла их запускать. Работать должен один. Который должен срабатывать в файле 11 Ноября после нажатия на кнопку Для всех банков.

Цитата:
Сообщение от IgorGO Посмотреть сообщение
это
"Репо (облигации).xls"
открыто, когда работает макрос?
Не знаю. Выдаёт ошибку и всё тут.....
Если данные переношу в эту же книгу. Макрос получается написать, а тут засада какая то....
Изображения
Тип файла: jpg Ошибка.jpg (24.6 Кб, 27 просмотров)

Последний раз редактировалось Stilet; 10.04.2011 в 19:23.
СтаниславАВ вне форума Ответить с цитированием
Старый 09.04.2011, 22:06   #14
VictorM
Старожил
 
Аватар для VictorM
 
Регистрация: 15.05.2008
Сообщений: 2,058
По умолчанию

так удалите сначала!
и далее, при инициализации формы должна сначала сработать Public Sub InitPublicVars, чтобы определились переменные, окно ошибки Вам это и говорит.
Нажмите Debug и посмотрите на чем останавливается макрос.
И все равно это не все, потом он остановится на rowH, и потом далее...
"Дайте людям рыбы, и вы накормите их на весь день; научите их ловить рыбу - и вы накормите их на всю жизнь"
"Большое спасибо" - Z261597841314, R208907249777, U447361470499
VictorM вне форума Ответить с цитированием
Старый 09.04.2011, 22:07   #15
СтаниславАВ
Форумчанин
 
Регистрация: 10.10.2010
Сообщений: 107
По умолчанию

Цитата:
Сообщение от VictorM Посмотреть сообщение
а выдает ошибку он на то, что у Вас процедуры с одинаковыми именами
в Репо макросов с именем Public Sub InitPublicVars два, и во второй книге такое же имя присутствует, обе книги работают одновременно...
При нажатии на кнопку для банков макрос срабатывает, но там путь указан как: x = Workbooks("Репо (облигации).xls").Worksheets("Банки ").Range("Б_данные").Value
СтаниславАВ вне форума Ответить с цитированием
Старый 09.04.2011, 22:10   #16
VictorM
Старожил
 
Аватар для VictorM
 
Регистрация: 15.05.2008
Сообщений: 2,058
По умолчанию

"Для банков" у меня рабоатет
а вот "Для всех банков" - выдает ошибку
"Дайте людям рыбы, и вы накормите их на весь день; научите их ловить рыбу - и вы накормите их на всю жизнь"
"Большое спасибо" - Z261597841314, R208907249777, U447361470499
VictorM вне форума Ответить с цитированием
Старый 09.04.2011, 22:13   #17
СтаниславАВ
Форумчанин
 
Регистрация: 10.10.2010
Сообщений: 107
По умолчанию

Цитата:
Сообщение от VictorM Посмотреть сообщение
так удалите сначала!
и далее, при инициализации формы должна сначала сработать Public Sub InitPublicVars, чтобы определились переменные, окно ошибки Вам это и говорит.
Нажмите Debug и посмотрите на чем останавливается макрос.
И все равно это не все, потом он остановится на rowH, и потом далее...
Согласен. Но он останавливается на If Not IsEmpty(shHome.UsedRange) Then - я так понимаю, что если список не пуст то он должен грузится. А он не грузится.

Цитата:
Сообщение от VictorM Посмотреть сообщение
"Для банков" у меня рабоатет
а вот "Для всех банков" - выдает ошибку
Вот я о том же. Этот макрос у меня хорошо отрабатывает. А тот нифига не получается настроить.

Я тут изменения внёс. При двойном нажатии в файле 11 Ноябрь.
Вложения
Тип файла: rar excel.rar (288.9 Кб, 6 просмотров)

Последний раз редактировалось Stilet; 10.04.2011 в 19:25.
СтаниславАВ вне форума Ответить с цитированием
Старый 09.04.2011, 22:42   #18
VictorM
Старожил
 
Аватар для VictorM
 
Регистрация: 15.05.2008
Сообщений: 2,058
По умолчанию

Цитата:
Но он останавливается на If Not IsEmpty(shHome.UsedRange) Then - я так понимаю, что если список не пуст то он должен грузится.
В данном случае дело не в том, пустой список или нет, в вашем случае, ошибка пишет что обьект не определен.
т.е. - ошибка
Изображения
Тип файла: jpg ошибка.JPG (23.0 Кб, 40 просмотров)
"Дайте людям рыбы, и вы накормите их на весь день; научите их ловить рыбу - и вы накормите их на всю жизнь"
"Большое спасибо" - Z261597841314, R208907249777, U447361470499

Последний раз редактировалось VictorM; 09.04.2011 в 22:45.
VictorM вне форума Ответить с цитированием
Старый 09.04.2011, 22:45   #19
СтаниславАВ
Форумчанин
 
Регистрация: 10.10.2010
Сообщений: 107
По умолчанию

Цитата:
Сообщение от VictorM Посмотреть сообщение
В данном случае дело не в том, пустой список или нет, в вашем случае, ошибка пишет что обьект не определен.
т.е. - ошибка
Тоесть, не правильная ссылка на данные. А они указаны только здесь:
Public Sub InitPublicVars()
Set shHome = Workbooks("Репо (облигации).xls").Worksheets("Банки ")
With shHome.UsedRange
rowH = .Rows.Count
End With
End Sub
СтаниславАВ вне форума Ответить с цитированием
Старый 09.04.2011, 22:52   #20
VictorM
Старожил
 
Аватар для VictorM
 
Регистрация: 15.05.2008
Сообщений: 2,058
По умолчанию

Вот, вот!
поэтому, если сначала запустить этот макрос, то как раз это место проходит и
ошибка уже возникает на другой строке
о чем я и писал
"Дайте людям рыбы, и вы накормите их на весь день; научите их ловить рыбу - и вы накормите их на всю жизнь"
"Большое спасибо" - Z261597841314, R208907249777, U447361470499
VictorM вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема с базой данных pufystyj PHP 2 21.02.2011 00:09
DLL с базой данных evgenmil БД в Delphi 6 20.04.2010 21:14
помогите с базой данных Роман-33 БД в Delphi 3 06.09.2008 18:37
Работа с базой данных Dizark Помощь студентам 1 01.03.2008 20:30