Модераторы: mihanik
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> проблема с используемыми границами на листе 
:(
    Опции темы
motorway
  Дата 16.7.2009, 18:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 578
Регистрация: 2.3.2008

Репутация: нет
Всего: 0



Какая-то странная проблема. Я хочу определить, где на листе последние использованные ячейки. Для этого смотрю на Sh.Cells.SpecialCells(xlCellTypeLas tCell).Row и Sh.Cells.SpecialCells(xlCellTypeLas tCell).Column. Допустим, мы написали на пустом листе в ячейке B2 число 1. Переменные стали равными 2,2. Теперь мы удалили верхнюю строку, и B2 переместилось на B1. Но эти переменные так и остались равными 2,2!
Как точно определить последние используемые границы (за которыми все пустое) и чтобы они менялись адекватно, а то здесь какая-то странность? 
PM MAIL   Вверх
Naghual
Дата 16.7.2009, 22:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1893
Регистрация: 15.5.2004
Где: Украина, Днепр

Репутация: 7
Всего: 49



UsedRange попробуй


--------------------
Я желаю всем Счастья!
PM ICQ Skype   Вверх
motorway
Дата 16.7.2009, 22:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 578
Регистрация: 2.3.2008

Репутация: нет
Всего: 0



Там в общем было дело такое, что если перед моим кодом просто вставить строку типа x = sh.UsedRange.Address, то начинает определяться правильно.
А просто UsedRange я вроде тоже когда пробовал, и он тоже так глючит.
Сейчас все нормуль
PM MAIL   Вверх
motorway
Дата 22.7.2009, 17:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 578
Регистрация: 2.3.2008

Репутация: нет
Всего: 0



Опять проблема с границами: я сделал, чтобы при открытии книги обновлялись данные о границах на всех листах, кроме последнего. Почему-то определяется неправильно иногда, как будто там старые значения остаются.

Код

Private Sub Workbook_Open()
rowcolstr = ""
 For i = 1 To (Worksheets.Count - 1)
    Set sh = Worksheets(i)
    x = sh.UsedRange.Address
    rowcolstr = rowcolstr + sh.Name + ":" + Trim(Str(sh.Cells.SpecialCells(xlCellTypeLastCell).Row)) + "-" + Trim(Str(sh.Cells.SpecialCells(xlCellTypeLastCell).Column)) + "|"
 Next i
Worksheets("Лист3").Range("C4").Value = rowcolstr
End Sub



Это сообщение отредактировал(а) motorway - 22.7.2009, 17:32
PM MAIL   Вверх
Naghual
Дата 22.7.2009, 17:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1893
Регистрация: 15.5.2004
Где: Украина, Днепр

Репутация: 7
Всего: 49



Он не может определятся не правильно. В принципе не может.
Если возвращает не то что Вы ожидаете, значит ваши ожидания неверны.

Занятые, в понимании Экселя, ячейки - это ячейки у которых был изменен какой-либо реквизит, например цвет фона.

Если уж вы так уверены в своей правоте, выложите тут свой злонесчастный, неправильный лист.


--------------------
Я желаю всем Счастья!
PM ICQ Skype   Вверх
motorway
Дата 22.7.2009, 18:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 578
Регистрация: 2.3.2008

Репутация: нет
Всего: 0



Попутная проблема была в том, что при удалении или вставке строк используемое число столбцов начинает определяться как макс=16384. Мой файл тот после макроса изменился, и сейчас восстановить трудно. В общем, я стер все листы, у которых это возникало, и снова их добавил. Пока проблемы нет, но она может появиться внезапно  smile 

Ну а там в самом деле были пустые ячейки. Может, так бывает, что после повисания файл становится кривым? У меня такие были

Это сообщение отредактировал(а) motorway - 22.7.2009, 18:13
PM MAIL   Вверх
motorway
Дата 22.7.2009, 18:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 578
Регистрация: 2.3.2008

Репутация: нет
Всего: 0



Да, вот какой-то глюк, при удалении/вставке строк вдруг число исп. колонок становится равным 16384, и ячейки начинают мигать черным!  smile 

Это сообщение отредактировал(а) motorway - 22.7.2009, 18:52
PM MAIL   Вверх
Naghual
Дата 23.7.2009, 11:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1893
Регистрация: 15.5.2004
Где: Украина, Днепр

Репутация: 7
Всего: 49



Цитата(motorway @  22.7.2009,  18:51 Найти цитируемый пост)
Да, вот какой-то глюк, при удалении/вставке строк вдруг число исп. колонок становится равным 16384, и ячейки начинают мигать черным!


Значит не тем местом производится вставка/удаление строк.
Код в студию - иначе разговор непредметный

Это сообщение отредактировал(а) Naghual - 23.7.2009, 11:20


--------------------
Я желаю всем Счастья!
PM ICQ Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Программирование, связанное с MS Office"
mihanik staruha

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами



  • Несанкционированная реклама на форуме запрещена
  • Пожалуйста, давайте своим темам осмысленный, информативный заголовок. Вопль "Помогите!" таковым не является.
  • Чем полнее и яснее Вы изложите проблему, тем быстрее мы её решим.
  • Оставляйте свои записи в "Книге отзывов о работе администрации"
  • А вот тут лежит FAQ нашего подраздела


Если Вам понравилась атмосфера форума, заходите к нам чаще!
С уважением mihanik и staruha.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Программирование, связанное с MS Office | Следующая тема »


 




[ Время генерации скрипта: 0.0441 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.