Некорректное отображение листа после формирования
ellison_shiny
Дата: Среда, 18.12.2024, 12:01 |
Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 19
Репутация:
0
±
Замечаний:
0% ±
Доброе время суток! Столкнулся с такой проблемой. Формирую макросом лист с настройками вида и разметки. После этого он отображается некорректно (область печати уезжает на другую страницу). Если этот файл сохранить, а потом открыть, то всё отображается нормально. Плюс к этому у одних людей на их машинах лист сразу корректно отображается после формирования, а другим приходится сохранять и переоткрывать файл. Помогите, пожалуйста, решить эту проблему. [vba]Код
Sub Form() Application.ScreenUpdating = False Application.DisplayAlerts = False 'удаляем лист "Лист1", если он присутствует On Error Resume Next Workbooks("Книга1.xlsm").Sheets("Лист1").Delete On Error GoTo 0 'добавляем лист "Лист1" Workbooks("Книга1.xlsm").Activate ActiveWorkbook.Sheets.Add.Name = "Лист1" Workbooks("Книга1.xlsm").Sheets("Лист1").Move After:=Sheets(Sheets.Count) 'настраиваем лист (вид и разметка) Workbooks("Книга1.xlsm").Activate ActiveWindow.View = xlPageLayoutView With ActiveSheet.PageSetup .Zoom = 68.5 .FitToPagesWide = 1 .FitToPagesTall = False .LeftMargin = Application.InchesToPoints(0.236220472440945) .RightMargin = Application.InchesToPoints(0.118110236220472) .TopMargin = Application.InchesToPoints(0.94488188976378) .BottomMargin = Application.InchesToPoints(0.748031496062992) .HeaderMargin = Application.InchesToPoints(0.31496062992126) .FooterMargin = Application.InchesToPoints(0.31496062992126) .PrintQuality = 600 .PrintArea = "A1:H54" .CenterHorizontally = True .CenterVertically = True .AlignMarginsHeaderFooter = False End With With ActiveSheet .Cells.Font.Size = "10" .Cells.Font.Name = "Arial" .Cells.HorizontalAlignment = xlCenter .Cells.VerticalAlignment = xlCenter .Cells.WrapText = True .Cells.EntireRow.AutoFit .Range("A1").ColumnWidth = 23.07 .Range("B1").ColumnWidth = 19.79 .Range("C1").ColumnWidth = 12.71 .Range("D1:E1").ColumnWidth = 12.43 .Range("F1").ColumnWidth = 11.71 .Range("G1").ColumnWidth = 12.86 .Range("H1").ColumnWidth = 17.43 End With Application.ScreenUpdating = True Application.DisplayAlerts = True End Sub
[/vba]
Доброе время суток! Столкнулся с такой проблемой. Формирую макросом лист с настройками вида и разметки. После этого он отображается некорректно (область печати уезжает на другую страницу). Если этот файл сохранить, а потом открыть, то всё отображается нормально. Плюс к этому у одних людей на их машинах лист сразу корректно отображается после формирования, а другим приходится сохранять и переоткрывать файл. Помогите, пожалуйста, решить эту проблему. [vba]Код
Sub Form() Application.ScreenUpdating = False Application.DisplayAlerts = False 'удаляем лист "Лист1", если он присутствует On Error Resume Next Workbooks("Книга1.xlsm").Sheets("Лист1").Delete On Error GoTo 0 'добавляем лист "Лист1" Workbooks("Книга1.xlsm").Activate ActiveWorkbook.Sheets.Add.Name = "Лист1" Workbooks("Книга1.xlsm").Sheets("Лист1").Move After:=Sheets(Sheets.Count) 'настраиваем лист (вид и разметка) Workbooks("Книга1.xlsm").Activate ActiveWindow.View = xlPageLayoutView With ActiveSheet.PageSetup .Zoom = 68.5 .FitToPagesWide = 1 .FitToPagesTall = False .LeftMargin = Application.InchesToPoints(0.236220472440945) .RightMargin = Application.InchesToPoints(0.118110236220472) .TopMargin = Application.InchesToPoints(0.94488188976378) .BottomMargin = Application.InchesToPoints(0.748031496062992) .HeaderMargin = Application.InchesToPoints(0.31496062992126) .FooterMargin = Application.InchesToPoints(0.31496062992126) .PrintQuality = 600 .PrintArea = "A1:H54" .CenterHorizontally = True .CenterVertically = True .AlignMarginsHeaderFooter = False End With With ActiveSheet .Cells.Font.Size = "10" .Cells.Font.Name = "Arial" .Cells.HorizontalAlignment = xlCenter .Cells.VerticalAlignment = xlCenter .Cells.WrapText = True .Cells.EntireRow.AutoFit .Range("A1").ColumnWidth = 23.07 .Range("B1").ColumnWidth = 19.79 .Range("C1").ColumnWidth = 12.71 .Range("D1:E1").ColumnWidth = 12.43 .Range("F1").ColumnWidth = 11.71 .Range("G1").ColumnWidth = 12.86 .Range("H1").ColumnWidth = 17.43 End With Application.ScreenUpdating = True Application.DisplayAlerts = True End Sub
[/vba] ellison_shiny
Сообщение отредактировал ellison_shiny - Среда, 18.12.2024, 12:03
Ответить
Сообщение Доброе время суток! Столкнулся с такой проблемой. Формирую макросом лист с настройками вида и разметки. После этого он отображается некорректно (область печати уезжает на другую страницу). Если этот файл сохранить, а потом открыть, то всё отображается нормально. Плюс к этому у одних людей на их машинах лист сразу корректно отображается после формирования, а другим приходится сохранять и переоткрывать файл. Помогите, пожалуйста, решить эту проблему. [vba]Код
Sub Form() Application.ScreenUpdating = False Application.DisplayAlerts = False 'удаляем лист "Лист1", если он присутствует On Error Resume Next Workbooks("Книга1.xlsm").Sheets("Лист1").Delete On Error GoTo 0 'добавляем лист "Лист1" Workbooks("Книга1.xlsm").Activate ActiveWorkbook.Sheets.Add.Name = "Лист1" Workbooks("Книга1.xlsm").Sheets("Лист1").Move After:=Sheets(Sheets.Count) 'настраиваем лист (вид и разметка) Workbooks("Книга1.xlsm").Activate ActiveWindow.View = xlPageLayoutView With ActiveSheet.PageSetup .Zoom = 68.5 .FitToPagesWide = 1 .FitToPagesTall = False .LeftMargin = Application.InchesToPoints(0.236220472440945) .RightMargin = Application.InchesToPoints(0.118110236220472) .TopMargin = Application.InchesToPoints(0.94488188976378) .BottomMargin = Application.InchesToPoints(0.748031496062992) .HeaderMargin = Application.InchesToPoints(0.31496062992126) .FooterMargin = Application.InchesToPoints(0.31496062992126) .PrintQuality = 600 .PrintArea = "A1:H54" .CenterHorizontally = True .CenterVertically = True .AlignMarginsHeaderFooter = False End With With ActiveSheet .Cells.Font.Size = "10" .Cells.Font.Name = "Arial" .Cells.HorizontalAlignment = xlCenter .Cells.VerticalAlignment = xlCenter .Cells.WrapText = True .Cells.EntireRow.AutoFit .Range("A1").ColumnWidth = 23.07 .Range("B1").ColumnWidth = 19.79 .Range("C1").ColumnWidth = 12.71 .Range("D1:E1").ColumnWidth = 12.43 .Range("F1").ColumnWidth = 11.71 .Range("G1").ColumnWidth = 12.86 .Range("H1").ColumnWidth = 17.43 End With Application.ScreenUpdating = True Application.DisplayAlerts = True End Sub
[/vba] Автор - ellison_shiny Дата добавления - 18.12.2024 в 12:01
mgt
Дата: Пятница, 20.12.2024, 00:04 |
Сообщение № 2
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 103
Репутация:
26
±
Замечаний:
0% ±
Excel 2010
Если убрать обработчик исключений, будут ли появляться ошибки?
Если убрать обработчик исключений, будут ли появляться ошибки? mgt
Ответить
Сообщение Если убрать обработчик исключений, будут ли появляться ошибки? Автор - mgt Дата добавления - 20.12.2024 в 00:04
ellison_shiny
Дата: Пятница, 20.12.2024, 09:17 |
Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 19
Репутация:
0
±
Замечаний:
0% ±
mgt , да, если "Лист1" будет отсутствовать, будет ошибка. Но область печати всё равно уезжает, причем как-то через раз. Могу попробовать обработчик ошибок заменить на функцию проверки существования листа, но чувствую дело не в этом.. P.S. Добавил функцию. Вроде работает корректно, потестируем побольше.
mgt , да, если "Лист1" будет отсутствовать, будет ошибка. Но область печати всё равно уезжает, причем как-то через раз. Могу попробовать обработчик ошибок заменить на функцию проверки существования листа, но чувствую дело не в этом.. P.S. Добавил функцию. Вроде работает корректно, потестируем побольше.ellison_shiny
Сообщение отредактировал ellison_shiny - Пятница, 20.12.2024, 09:32
Ответить
Сообщение mgt , да, если "Лист1" будет отсутствовать, будет ошибка. Но область печати всё равно уезжает, причем как-то через раз. Могу попробовать обработчик ошибок заменить на функцию проверки существования листа, но чувствую дело не в этом.. P.S. Добавил функцию. Вроде работает корректно, потестируем побольше.Автор - ellison_shiny Дата добавления - 20.12.2024 в 09:17
ellison_shiny
Дата: Пятница, 20.12.2024, 14:51 |
Сообщение № 4
Группа: Пользователи
Ранг: Новичок
Сообщений: 19
Репутация:
0
±
Замечаний:
0% ±
P.S. Добавил функцию. К сообщению приложен файл: kniga2.xlsm (46.4 Kb)
mgt , Не, фокус не удался. С функцией проверки существования листа также периодически уезжает область печати и лист отображается некорректно. Видимо дело в чем-то другом.
P.S. Добавил функцию. К сообщению приложен файл: kniga2.xlsm (46.4 Kb)
mgt , Не, фокус не удался. С функцией проверки существования листа также периодически уезжает область печати и лист отображается некорректно. Видимо дело в чем-то другом.ellison_shiny
Сообщение отредактировал ellison_shiny - Пятница, 20.12.2024, 14:53
Ответить
Сообщение P.S. Добавил функцию. К сообщению приложен файл: kniga2.xlsm (46.4 Kb)
mgt , Не, фокус не удался. С функцией проверки существования листа также периодически уезжает область печати и лист отображается некорректно. Видимо дело в чем-то другом.Автор - ellison_shiny Дата добавления - 20.12.2024 в 14:51