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

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

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

Восстановить пароль

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

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

Цитата:
Сообщение от VictorM Посмотреть сообщение
Вот, вот!
поэтому, если сначала запустить этот макрос, то как раз это место проходит и
ошибка уже возникает на другой строке
о чем я и писал
И как решить проблему?
СтаниславАВ вне форума Ответить с цитированием
Старый 09.04.2011, 22:56   #22
VictorM
Старожил
 
Аватар для VictorM
 
Регистрация: 15.05.2008
Сообщений: 2,058
По умолчанию

Кстати, в новом файле макрос вот с такой строкой
Set shHome = Workbooks("Репо (облигации).xls").Worksheets("Банки ").Range("Б_данные").Value 'база данных адресов (лист "Firms")
работать не хочет.
Если же так
Set shHome = Workbooks("Репо (облигации).xls").Worksheets("Банки ")'база данных адресов (лист "Firms")
работает нормально

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

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

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

Эту строку удалять не нужно!
rowH у Вас используется дальше, опять же при инициализации формы. Макрос
Код:
Public Sub InitPublicVars()
   Set shHome = Workbooks("Репо (облигации).xls").Worksheets("Банки")
   With shHome.UsedRange
      rowH = .Rows.Count 'количество используемых строк в базе
   End With
End Sub
рабочий!!!
"Дайте людям рыбы, и вы накормите их на весь день; научите их ловить рыбу - и вы накормите их на всю жизнь"
"Большое спасибо" - Z261597841314, R208907249777, U447361470499
VictorM вне форума Ответить с цитированием
Старый 09.04.2011, 23:11   #25
VictorM
Старожил
 
Аватар для VictorM
 
Регистрация: 15.05.2008
Сообщений: 2,058
По умолчанию

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

Кое что докумекал.....

Цитата:
Сообщение от VictorM Посмотреть сообщение
Просто у вас там дальше останавливается на rowH, обьявил переменную в модуле - пошло дальше, но опять ошибка, только уже на другой строке....и т.д...
А rowH=1786 - это количество ячеек?
Вложения
Тип файла: rar 11 (Ноябрь)1.rar (197.4 Кб, 5 просмотров)

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

Цитата:
Кое что докумекал.....
Ну все правильно.
А теперь дальше ошибка, о чем я и говорил

и, кстати, у меня всеже не работает строка полностью
Код:
Set shHome = Workbooks("Репо (облигации).xls").Worksheets("Банки").Range("Б_данные")
только вот так
Код:
Set shHome = Workbooks("Репо (облигации).xls").Worksheets("Банки")
Цитата:
А rowH=1786 - это количество ячеек?
количество строк
и оно потом у вас используется дальше
Изображения
Тип файла: jpg ошибка2.JPG (24.5 Кб, 12 просмотров)
"Дайте людям рыбы, и вы накормите их на весь день; научите их ловить рыбу - и вы накормите их на всю жизнь"
"Большое спасибо" - Z261597841314, R208907249777, U447361470499

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

Цитата:
Сообщение от VictorM Посмотреть сообщение
и, кстати, у меня всеже не работает строка полностью
Код:
Set shHome = Workbooks("Репо (облигации).xls").Worksheets("Банки").Range("Б_данные")
только вот так
Код:
Set shHome = Workbooks("Репо (облигации).xls").Worksheets("Банки")
Спасибо.
Начал немного понимать. .Range("Б_данные") - показывает границы массива, а rowH = .Rows.Count на безграничность массива. Конфликт интересов.

Дошёл до этого....
Вложения
Тип файла: rar 11 (Ноябрь)1.rar (200.7 Кб, 4 просмотров)

Последний раз редактировалось Stilet; 10.04.2011 в 19:28.
СтаниславАВ вне форума Ответить с цитированием
Старый 09.04.2011, 23:35   #29
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

ничего Вы не начали понимать.
Workbooks("Репо (облигации).xls").Worksheets("Банки ").Range("Б_данные") - указывает на диапазон, а Вы пытаетесь присвить переменной типа WorkSheet значение типа Range.
.Rows.Count - указывает на количество рядов в обьекте, который должен быть записан перед точкой (если там указан "правильный" обьект, у которого есть свойство Rows - коллекция строк)
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 09.04.2011, 23:47   #30
VictorM
Старожил
 
Аватар для VictorM
 
Регистрация: 15.05.2008
Сообщений: 2,058
По умолчанию

да, недоглядел в вопросе
конечно же rowH=1786 не количество ячеек, а количество строк
"Дайте людям рыбы, и вы накормите их на весь день; научите их ловить рыбу - и вы накормите их на всю жизнь"
"Большое спасибо" - 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