Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Страницы: 1
RSS
Как сделать чтобы на одном листе из книги было только 56 строк
 
Как сделать чтобы на одном листе из книги было только 56 строк?
Чтобы заголовки горизонтальных строк заканчивались на номере 56

Свое начало тема берет здесь
Изменено: Exhaust_ - 28 Май 2013 12:58:26
 
Цитата
Exhaust_ пишет:
заголовки горизонтальных строк
А бывают вертикальные строки?  :)  Скройте ненужные.
 
Цитата
А бывают вертикальные строки? :)
Ну это уже смотря как экран повернуть  :)

Не вариант - макрос перестает работать
Может есть способ так чтобы открыть окошко, ввести число 56, нажать Ок и все произошло?
 
Какой макрос и почему перестаёт работать?
 
Цитата
Exhaust_ пишет:
Может есть способ так чтобы открыть окошко, ввести число 56, нажать Ок и все произошло?
Есть способ: написать макрос, которые сделает то, о чём я написал выше - скроет все строки ниже указанной.
 
Цитата
Какой макрос...
Этот модуль
Фишка в чем: чтобы выделить только столбцы и получить скриншот
А пока что получается, что если выделяем не определенную область, а столбец до бесконечности - получаем баг, мол "Указаное значение выходит за допустимые приделы"
 
Попробуйте так:
Код
Application.ScreenUpdating = False
Application.DisplayAlerts = False
    With Intersect(Selection,ActiveSheet.usedRange)

или для фиксированно 56 столбцов:
Код
With Intersect(Selection,Range("A1:BD1").entirecolumn)
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
The_Prist, в первом случае ругается на "неожиданное завершение", а во втором - ошибка синтаксиса

Цитата
The_Prist пишет:
56 столбцов
56 строк. Есть "лента" ячеек, слева направо, высотой 56 строк, длинна бесконечна, нужно делать скриншоты для разных участков "ленты", для этого особо удобно выделить несколько столбцов и нажать кнопку "сфоткать". Пока что не получается - не могу понять как ограничить "глубину" диапазона для скриншота (сверху вниз) или же как ограничить саму "глубину" листа
 
Exhaust_, а чем Вам не нравится скрытие "лишних" строк? Ведь изначально задача так и ставилась:
Цитата
Чтобы заголовки горизонтальных строк заканчивались на номере 56
 
Юрий М, ну потому что модуль ошибку выбивает
Изменено: Exhaust_ - 28 Май 2013 01:19:54
 
МОДУЛЬ не может "выбивать" ошибку. Процедура в модуле - может. А другого способа
Цитата
Чтобы заголовки горизонтальных строк заканчивались на номере 56
я не знаю.
 
Цитата
Exhaust_ пишет:
The_Prist,  в первом случае ругается на "неожиданное завершение", а во втором - ошибка синтаксиса
Сам проверил - если не тупо отдельно эти строки пытаться запустить, а вставить в имеющийся код, заменив нужную строку - все будет работать без каких-либо ошибок синтаксиса. Я специально в первом случае привел ТРИ строки, чтобы Вы могли найти их в коде.

И в принципе тогда сразу определитесь - у Вас горизонтальные строки(иначе столбцы их обычно называют) или все же просто строки. Если просто строки:
Range("A1:A56")

А полностью код должен выглядеть так:
Код
'---------------------------------------------------------------------------------------
' Module    : mSaveObjectAsPicture
' DateTime  : 05.03.2011 18:22
' Author    : The_Prist(Щербаков Дмитрий)
'             WebMoney - R298726502453; Яндекс.Деньги - 41001332272872
'             http://www.excel-vba.ru
' Purpose   : http://www.excel-vba.ru/index.php?file=Tips_Macro_Save_Object_As_Picture
'---------------------------------------------------------------------------------------
Option Explicit

'---------------------------------------------------------------------------------------
' Procedure : Range_to_Picture
' DateTime  : 24.06.2012 16:09
' Author    : The_Prist(Щербаков Дмитрий)
'             WebMoney - R298726502453; Яндекс.Деньги - 41001332272872
'             http://www.excel-vba.ru
' Purpose   : сохранение диапазона в файл GIF
'---------------------------------------------------------------------------------------
Sub Range_to_Picture()
    Dim sName As String, wsTmpSh As Worksheet
    If TypeName(Selection) <> "Range" Then
        MsgBox "Выделенная область не является диапазоном!", vbCritical, "www.excel-vba.ru"
        Exit Sub
    End If
    Application.ScreenUpdating = False
    Application.DisplayAlerts = False
    With Intersect(Selection,Range("A1:A56").entirerow)
        .CopyPicture
        Set wsTmpSh = ThisWorkbook.Sheets.Add
        sName = ActiveWorkbook.FullName & "_" & ActiveSheet.Name & "_Range"
        With wsTmpSh.ChartObjects.Add(0, 0, .Width, .Height).Chart
            .ChartArea.Border.LineStyle = 0
            .Paste
            .Export Filename:=sName & ".png", FilterName:="PNG"
            .Parent.Delete
        End With
    End With
    wsTmpSh.Delete
    Application.ScreenUpdating = True
    Application.DisplayAlerts = True
End Sub
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
The_Prist, по поводу терминологии понял, исправлюсь
Ошибка синтаксиса была из-за того что я указал А1:А56 но не исправил entirecolumn на entirerow
Извините за глупость и спасибо за помощь
Страницы: 1
Читают тему (гостей: 1)
Наверх