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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 08.02.2011, 10:17   #1
3BEPOBOY
Пользователь
 
Регистрация: 27.12.2010
Сообщений: 82
По умолчанию Определение конца файла с форматированием пустых ячеек

Добрый день! Уважаемые знатоки, у меня нубовский вопрос к вам.

Есть программа грандсмета, которая формирует файлы отчета в экселе. Меня попросили написать макрос, который будет переделывать(шапочки, нужные фамилии, подписи и т.д.) этот файл. В том числе я вставляю некоторую запись в последнюю строку. Вот тут то и споткнулся. Раньше определял последнюю строку следующим образом и радовался:
Код:
UsedRange.Rows.Count
но в этот раз не прокатило. Там изначально файл как-то криво создан, что несколько тысяч пустых строк определяются как несущие информацию, даже бегунок пролистывания коротенький.

Я нашел временный выход, делаю что-то вроде
Код:
Do While usl
      for i=1 to 100
           if Cells.Value(j,i)<> "" then exit For
      Next
      if i=100 then Usl = false
      j=j+1  
Loop
Но это совсем не то как хотелось бы решать вопрос.
Прикладываю демонстративный файл с маленьким макросом, с таким же косячком. Непосредственно того что экспортирует грандсмета под рукой нет.
заранее спасибо за советы!

P.S. Тему нехорошо назвал. Уважаемые модераторы, переименуйте пож-ста в "Определение конца файла с отформатированными пустыми ячейками в конце"
Вложения
Тип файла: rar файл с плохим концом.rar (5.8 Кб, 12 просмотров)

Последний раз редактировалось 3BEPOBOY; 08.02.2011 в 10:22. Причина: забыл приложить файл
3BEPOBOY вне форума Ответить с цитированием
Старый 08.02.2011, 10:42   #2
nilem
Форумчанин
 
Регистрация: 25.04.2010
Сообщений: 616
По умолчанию

Обычный способ не подходит?
Код:
Sub числострок()
    Dim a As Long
    a = UsedRange.Rows.Count
    MsgBox a
    a = Cells(Rows.Count, 1).End(xlUp).Row
    MsgBox a
End Sub
nilem вне форума Ответить с цитированием
Старый 08.02.2011, 10:49   #3
3BEPOBOY
Пользователь
 
Регистрация: 27.12.2010
Сообщений: 82
По умолчанию

Класс! спасибо. Я просто недавно начал VBA баловаться и почти ничего не знаю.
"обычный способ" вижу впервые
3BEPOBOY вне форума Ответить с цитированием
Старый 08.02.2011, 11:25   #4
kuklp
Участник клуба
 
Регистрация: 02.05.2010
Сообщений: 1,390
По умолчанию

А вообще отформатированные строки-столбцы ниже-правее данных лучше удалять, они сильно утяжеляют файл. Проверьте(макрос Николая за основу):
Код:
Sub числострок()
    Dim a As Long, aa&
    On Error Resume Next
    a = UsedRange.Rows.Count
    MsgBox a
    aa = Cells(Rows.Count, 1).End(xlUp).Row
    MsgBox aa
 Stop
    Rows(aa + 1 & ":" & a + 1).Delete
    a = UsedRange.Columns.Count
    MsgBox a
    aa = Cells(1, Columns.Count).End(xlToLeft).Column
    MsgBox aa
    Stop
    Range(Cells(1, aa + 1), Cells(1, a + 1)).EntireColumn.Delete
End Sub
mailto: kuklp60@gmail.com, ящики для благодарностей:
WM Z206653985942, R334086032478, U238399322728
kuklp вне форума Ответить с цитированием
Старый 08.02.2011, 11:37   #5
3BEPOBOY
Пользователь
 
Регистрация: 27.12.2010
Сообщений: 82
По умолчанию

kuklp
спасибо, учту)
Кстати конструкцию STOP вообще первый раз вижу :D Разберемся!
3BEPOBOY вне форума Ответить с цитированием
Старый 08.02.2011, 11:41   #6
kuklp
Участник клуба
 
Регистрация: 02.05.2010
Сообщений: 1,390
По умолчанию

Она применяется для отладочных целей. В данном случае - чтобы Вы не удалили че-нить нужное, ориентируясь по МСГбоксам.
mailto: kuklp60@gmail.com, ящики для благодарностей:
WM Z206653985942, R334086032478, U238399322728
kuklp вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Удаление пустых ячеек в Word Didar Microsoft Office Word 5 20.01.2011 20:38
поиск пустых ячеек и вывод результата alexander_l Microsoft Office Excel 7 17.06.2010 16:50
Зависимость графика от пустых ячеек WhiteLion Microsoft Office Excel 2 10.03.2010 21:15
Сумма пустых ячеек дает 0 Miheiy Microsoft Office Excel 16 23.01.2010 12:05