Страницы: 1
RSS
Выборка строк с жирным шрифтом
 
Здравствуйте! Из бухгалтерской программы выгружается отчет следующего вида (прикрепленный файл). Необходимо свернуть строки так, чтобы были видны только строки с жирным шрифтом. Помогите, пожалуйста. Спасибо.
 
Sub pp()  
   Dim il As Long  
   Dim sh As Worksheet  
   Dim i As Long  
   Application.ScreenUpdating = False  
   Set sh = Sheets("Îò÷åò")  
   il = sh.Cells(Rows.Count, 1).End(xlUp).Row  
   For i = 3 To il  
       If Not sh.Cells(i, 1).Font.Bold Then  
           sh.Cells(i, 1).EntireRow.Hidden = True  
       End If  
   Next i  
   Application.ScreenUpdating = True  
End Sub
 
Если макрос по каким-то причинам не подходит, можно так:  
скопировать любой столбец и рядом с таблицой сделать специальную вставку -> формат. Потом выделить этот отформатированный столбец, нажать Ctrl+H -> параметры -> Формат (найти) -> выбрать полужирный -> Заменить на: любой_символ.  
В результате этого появится столбец, в котором в жирных строках будет этот символ. Далее - фильтр...
 
{quote}{login=Dophin}{date=17.05.2010 10:09}{thema=}{post}Sub pp()  
   Dim il As Long  
   Dim sh As Worksheet  
   Dim i As Long  
   Application.ScreenUpdating = False  
   Set sh = Sheets("Îò÷åò")  
   il = sh.Cells(Rows.Count, 1).End(xlUp).Row  
   For i = 3 To il  
       If Not sh.Cells(i, 1).Font.Bold Then  
           sh.Cells(i, 1).EntireRow.Hidden = True  
       End If  
   Next i  
   Application.ScreenUpdating = True  
End Sub{/post}{/quote}  
 
Спасибо большое. Это работает. У меня к вам просьба: распишите, пожалуйста, что делается в каждой строке, т.к. никогда не писала макросы. Спасибо.
 
Sub pp()  
Dim il As Long ' объявляем переменные  
Dim sh As Worksheet  
Dim i As Long  
Application.ScreenUpdating = False ' отключаем тормоза  
Set sh = Sheets("Отчет") ' присваиваем листу 5 псевдоним  
il = sh.Cells(Rows.Count, 1).End(xlUp).Row 'находим последнюю заполненную строку на листе Отчет  
For i = 3 To il ' цикл от 3ей до последней строки  
If Not sh.Cells(i, 1).Font.Bold Then ' если ячейка (строки i столбца 1) не имеет жирный фон то  
sh.Cells(i, 1).EntireRow.Hidden = True ' строку содержащую эту ячейку скрываем  
End If  
Next i ' переходим к следующей ячейке  
Application.ScreenUpdating = True  
End Sub
 
{quote}{login=webley}{date=17.05.2010 10:42}{thema=}{post}Если макрос по каким-то причинам не подходит, можно так:  
скопировать любой столбец и рядом с таблицой сделать специальную вставку -> формат. Потом выделить этот отформатированный столбец, нажать Ctrl+H -> параметры -> Формат (найти) -> выбрать полужирный -> Заменить на: любой_символ.  
В результате этого появится столбец, в котором в жирных строках будет этот символ. Далее - фильтр...{/post}{/quote}  
 
Попробовала ваш метод, но у меня не получилось. Может я что-то сделала не так. Наверно нужна более подробная инструкция.
 
{quote}{login=Dophin}{date=17.05.2010 04:32}{thema=}{post}Sub pp()  
Dim il As Long ' объявляем переменные  
Dim sh As Worksheet  
Dim i As Long  
Application.ScreenUpdating = False ' отключаем тормоза  
Set sh = Sheets("Отчет") ' присваиваем листу 5 псевдоним  
il = sh.Cells(Rows.Count, 1).End(xlUp).Row 'находим последнюю заполненную строку на листе Отчет  
For i = 3 To il ' цикл от 3ей до последней строки  
If Not sh.Cells(i, 1).Font.Bold Then ' если ячейка (строки i столбца 1) не имеет жирный фон то  
sh.Cells(i, 1).EntireRow.Hidden = True ' строку содержащую эту ячейку скрываем  
End If  
Next i ' переходим к следующей ячейке  
Application.ScreenUpdating = True  
End Sub{/post}{/quote}  
 
Теперь возник вопрос: помогите организовать процесс хранения этого макроса, чтобы при выгрузке такого файла из программы, любой бухгалтер самостоятельно мог запустить по необходимости у себя на ПК этот макрос. Спасибо.
 
всавьте пустой модуль в чистую книгу  
вставьте в модуль ваш макрос  
сохраните книгу как надстройку  (xla) в какую-нибудь новую папку(или в папку автозагрузки)  
назначьте иксель папкой альтернативной загрузки эту папку с надстройкой
Живи и дай жить..
Страницы: 1
Читают тему
Наверх