Определенное количество строк и столбцов в Excel

Могу ли я создать книгу в Excel и указать количество строк и столбцов? Например 20 строк и 5 столбцов? Я работаю над электронной таблицей, в которой всегда будет одинаковое количество строк и столбцов, и я хотел бы отключить опцию прокрутки до бесконечности.


0

Формат рабочего листа Wether Excel имеет фиксированный размер для рабочих листов (1 048 576 строк на 16 384 столбца), вам нужно будет сделать одно из этого хитрости:

  • Ограничить количество строк и столбцов с отключением прокрутки в Excel
  • Ограничить количество строк и столбцов со скрытыми строками и столбцы

Там у вас есть ссылка, где они четко объясняют оба метода с изображениями и все необходимые шаги.

Поделиться
Улучшите это ответ
ответ дан 07 сен ’17 в 18:38
комментировать |

Формат рабочего листа Wether Excel имеет фиксированный размер для рабочих листов (1 048 576 строк на 16 384 столбца), вам нужно будет выполнить один из этих приемов :

  • Ограничить количество строк и столбцов с отключением прокрутки в Excel
  • Ограничить количество строк и столбцов со скрытыми строками и столбцы

Здесь у вас есть ссылка, где четко объясняются оба метода с изображениями и все необходимые шаги.


0

Приведенный ниже код скрывает лишние строки и столбцы, и ограничивает выбор/перемещение ячеек

(просто обновите константы MAX_COL и MAX_ROW в Module1)


Код в ThisWorkbook модуль:


  Option ExplicitPublic Sub MinimizeAllSheets () Dim ws As Worksheet Application.ScreenUpdating = False For Each ws In ThisWorkbook.Worksheets MinimizeSheet ws Далее  Application.ScreenUpdating = TrueEnd SubPrivate Sub Workbook_Open () MinimizeAllSheetsEnd Sub'Если ScrollArea не установленPrivate Sub Workbook_SheetSelectionChange (ByVal Sh As Object, ByVal Target As Range) RestrictMovement TargetEnd Sub  

Код в Module1 (общий модуль):


  Option ExplicitPrivate Const MAX_COL = 5 'Обновить ограничения по умолчанию (все  листов) Private Const MAX_ROW = 20 Public Sub MinimizeSh  eet (Optional ByRef ws As Worksheet, _ Optional ByVal maxCol As Long = MAX_COL, _ Optional ByVal maxRow As Long = MAX_ROW) If maxCol> 0 And maxRow> 0 Then Dim actWs As Worksheet If ws Is Nothing Then Set ws = ActiveSheet Else If  ws.Name  ActiveSheet. Name Then Set actWs = ActiveSheet ws.Activate End If End If ActiveWindow.ScrollColumn = 1 ActiveWindow.ScrollRow = 1 With ws.Range (ws.Cells (1, maxCol + 1), ws.Cells (1, Columns.Count))  .EntireColumn.Hidden = True End With ws.Rows (maxRow + 1 & ":" & Rows.Count) .EntireRow.Hidden = True 'ScrollArea также ограничивает выбор ws.ScrollArea = ws.Range (ws.Cells (1)  , ws.Cells (maxRow, maxCol)). Address If Not actWs Is Nothing Then actWs.Activate End IfEnd Sub  

.

  Public Sub RestrictMovement (ByVal Target As Range) 'Если ScrollArea не установлен с Target If .CountLarge = 1 Then If .Column> MAX_COL Then .Parent.Cells (.Row, MAX_COL) .Activate If .Row> MAX_ROW Then.  Parent.Cells (MAX_ROW, .Column) .Activate Else If (.Column - 1) + .Columns.Count> MAX_COL Then Set Target = .Resize (.Rows.Count, MAX_COL) End If If (.Row - 1) +  .Rows.Count> MAX_ROW Then Set Target = .Resize (MAX_ROW, .Columns.Count) End If End If End WithEnd Sub  

Поделиться
Улучшить этот ответ
ответил 8 сен. ’17 в 1:12
добавить комментарий |

Приведенный ниже код скрывает лишние строки и столбцы и ограничивает выбор/перемещение ячеек

(просто обновите Константы MAX_COL и MAX_ROW в Module1)


Код в модуле ThisWorkbook :


  Option ExplicitPublic Sub MinimizeAllSheets () Dim ws As Worksheet Application.ScreenUpdating = False For Each ws In ThisWorkbook.Worksheets MinimizeSheet ws Next Application.ScreenUpdating = TrueEnd SubPrivate Sub Workbook_Open () MinimizeAllSheetsEnd Sub'If SubPrivate Sub'If set  ByVal Sh как объект, ByVal Target как диапазон) RestrictMovement TargetEnd Sub  

Код в Module1 (общий модуль):


  Option ExplicitPrivate Const MAX_COL = 5 'Обновить ограничения по умолчанию (все листы) Private Const MAX_ROW = 20 Public Sub MinimizeSheet (Необязательно ByRef ws As Worksheet, _ Optional ByVal maxCol As  Long = MAX_COL, _ Необязательный ByVal maxRow As Long = MA  X_ROW) Если maxCol> 0 и maxRow> 0, то затемнить actWs как рабочий лист, если ws - ничего, то установить ws = ActiveSheet Else, если ws.Name  ActiveSheet.Name, затем установить actWs = ActiveSheet ws.Activate End If End If ActiveWindow.ScrollColumn =  1 ActiveWindow.ScrollRow = 1 с ws.Range (ws.Cells (1, maxCol + 1), ws.Cells (1, Columns.Count)) .EntireColumn.Hidden = True End With ws.Rows (maxRow + 1 & "  : "& Rows.Count) .EntireRow.Hidden = True 'ScrollArea также ограничивает выбор ws.ScrollArea = ws.Range (ws.Cells (1), ws.Cells (maxRow, maxCol)). Address If Not actWs Is Nothing Then actWs.Activate End IfEnd Sub  

.

  Public Sub RestrictMovement (ByVal Target As Range)  'Если ScrollArea не задано с целью If .CountLarge = 1 Then If .Column> MAX_COL Then .Parent.Cells (.Row, MAX_COL) .Activate If .Row> MAX_ROW Then .Parent.Cells (MAX_ROW, .Column) .Activate  В противном случае Если (.Column - 1) + .Columns.Count> MAX_COL Then Set Target = .Resize (.Rows.Count, MAX_COL) End If If (.Row - 1) + .Rows.Count> MAX_ROW Then Set Target =.  Изменить размер (MAX_ROW, .Columns.Count) End If End If End WithEnd Sub  

Оцените статью
Botgadget.ru
Добавить комментарий