46

В Microsoft Excel

альтернативный текст

Я хочу сделать высоту первых трех строк и первых четырех столбцов (12 ячеек в верхнем левом углу) такой, чтобы эти ячейки были квадратами. Как это может быть сделано?


Удивительно, но Excel говорит:

Row height: 15
Column width: 8.43

Таким образом, они не в том же масштабе.

Создание обоих из них 8.43 дает мне это:

альтернативный текст

Что мне теперь делать?

19 ответов19

42

Еще один способ ... изменить свой вид на макет страницы. Это изменяет масштаб сетки на дюймы, а затем вы можете специально установить и высоту, и ширину на одно и то же значение (например, 25 дюймов). Макет страницы IMO - лучший стандартный вид для работы над внешним видом электронной таблицы.

Вот пример с фактическими размерами для обоих видов:

Квадратные ячейки

13

Выберите все (или нужные вам строки / столбцы), затем перетащите, чтобы изменить размер до желаемого размера.

  1. Перетащите край заголовка столбца, чтобы изменить его ширину. Появится всплывающая подсказка с точным количеством пикселей.
  2. Запомните значение пикселя!
  3. Перетащите край заголовка строки, чтобы изменить высоту строки, он работает так же.
  4. Перетащите на то же значение пикселя.

Готово!

8

Ширина столбца Excel измеряется числом нулей (0), которые могут поместиться в ячейке в стиле Normal. Чтобы преобразовать в точки (как измеряется высота строки), см.

http://www.dailydoseofexcel.com/archives/2004/06/01/column-widths-in-points/

Если вам не нужно быть точным, просто посмотрите на это. Если вам нужно быть ближе к глазу, поместите квадрат с панели инструментов «Рисование» на свой лист и установите его размер. Если вы хотите, чтобы это было 10 x 10, используйте такой код:

sheet1.Shapes(1).Height = 10
sheet1.Shapes(1).Width = 10
sheet1.Shapes(1).Top = sheet1.Shapes(1).TopLeftCell.Top
sheet1.Shapes(1).Left = sheet1.Shapes(1).TopLeftCell.Left

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

4

VBA кажется немного излишним для такого простого результата .. Если щелкнуть и удерживать при перетаскивании для изменения размера строки / столбца, размер в пикселях отображается в скобках. Эти единицы не масштабируются, поэтому, если вы установите одинаковые размеры строк и столбцов, они будут квадратными. Конечно, это ручной процесс ... но вы можете найти эквивалентные размеры, а затем выбрать диапазон строк / столбцов и установить все их размеры одновременно.

2

Вот решение VBA.

Private Sub MakeSquareCells()

'//  Create graph paper in Excel see    http://www.erlandsendata.no/english/index.php?d=envbawssetrowcol  if you want cm or inches


    Set Cursheet = ActiveSheet

    'don't drive the person crazy watching you work
    UpdateScreen = Application.ScreenUpdating
    Application.ScreenUpdating = False
    With wksToHaveSquareCells
        .Columns.ColumnWidth = 5 '// minimum 2, max 400 ; above 7 --> zoom doesn't work nice
        .Rows.EntireRow.RowHeight = .Cells(1).Width
        '// ActiveWindow.Zoom = true
    End With

    Application.ScreenUpdating = UpdateScreen
    Cursheet.Activate           '// Reactivate sheet that has been active at entrance of this subroutine

End Sub
2

Вы должны знать, что математически квадрат и визуально квадрат - это разные вещи. Не все мониторы сделаны одинаково. Обычно пиксели шире, чем они высокие.

Посмотрите на следующую картинку:

Каждый красный, зеленый и синий подпиксели составляют весь пиксель. Как вы можете видеть, комбинация из 3 шире, чем высота 1 субпикселя. В большинстве случаев разница невелика, и большинство людей могут ее не заметить. Однако в некоторых случаях люди делают.

1

На самом деле, у меня была такая же проблема в прошлом. Для меня лучше всего работает следующий код VBA. Я нашел линейное соотношение методом проб и ошибок.

Код работает как для отдельных ячеек, так и для выбора. В последнем случае квадраты основаны на общей ширине или высоте выделения.

Sub MakeCellSquareByColumn()
    Selection.RowHeight = Selection.Width / Selection.Columns.Count
    Selection.ColumnWidth = (((Selection.Width / Selection.Columns.Count) / 0.75 - 5) / 7)
End Sub

Sub MakeCellSquareByRow()
    Selection.ColumnWidth = (((Selection.Height / Selection.Rows.Count) / 0.75 - 5) / 7)
    Selection.RowHeight = Selection.Height / Selection.Rows.Count
End Sub

Вы можете поместить эти макросы в модуль и назначить им кнопки на панели быстрого доступа.

Обратите внимание, что квадраты исчезают (при изменении ширины столбца) при изменении типа или размера шрифта. Это связано с тем, как Excel вычисляет ширину столбца. См .: https://support.microsoft.com/en-us/kb/214123.

1

Сначала выберите ячейки, размер которых вы хотите изменить. Затем на вкладке « Home » перейдите в поле « Cells и нажмите « Format . Здесь вы можете изменить Row Height и Column Width выбранных ячеек по своему усмотрению.

1

Если вы хотите сделать это для всего листа, вы можете использовать этот трюк, который может быть полезен в любом случае: щелкните поле слева от заголовка столбца A, чтобы выбрать все ячейки; щелкните и перетащите один из разделителей заголовков столбцов до нужного размера, отметив количество пикселей для результирующей ширины ячейки (я использую Excel 2007, который показывает это); сделайте то же самое для одного из разделителей меток строки, сопоставив его с шириной столбца в пикселях. Это должно сделать все ячейки в ящиках листов. Что, конечно, не то, что вы просили, но я надеялся, что этот трюк будет работать с подмножеством ячеек. К сожалению это не так.

1

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

  1. Выделите квадраты, которые вы хотите отформатировать.
  2. Перейдите на вкладку формата.
  3. Отформатируйте ширину столбца в 12.43
  4. Затем отформатируйте высоту ячейки до 75,00.

Используя линейку, я обнаружил, что на расстоянии 7 и 10 дюймов у меня была небольшая доля. Надеюсь это поможет.

1

Я определил, что квадрат можно сделать с соотношением 7,25 высоты строки для каждой 1,0 точки ширины столбца.

1

Я использую соотношение 5-1/3, высота строки к ширине столбца.

Например, сделайте высоту строки 53,33 и ширину столбца 10 или 106,66 и 20 соответственно, и вы окажетесь достаточно близко для правительственной работы.

0

Excel 2010 Настройка в представлении макета страницы, а затем переключение обратно в обычный режим не работает. Я смог проверить с помощью инструментов рисования и создания идеального квадрата в обычном представлении. Это самый простой способ сделать квадраты любого размера.

Ширина столбца = 2,71 Высота строки = 18.

0

Это делает трюк довольно аккуратно, используя VBA. Установите равномерный rowHeight, затем используйте свойство Width (возвращает размер столбца в точках) и разделите RowHeight на него, чтобы получить отношение высоты / ширины к единице меньше. Создайте новый ColumnWidth, который будет умножен на исходный ColumnWidth, чтобы сделать все квадратным.

    Sub makeSquares() 
    Cells.RowHeight = 20
    With Cells(1, 1)
    W = .ColumnWidth
    HWratio = .RowHeight / .Width
    Cells.ColumnWidth = W * HWratio
    End With
    End Sub
0

Если вы хотите, чтобы строка и столбец выглядели квадратными, выберите все ячейки, которые вы хотите сделать квадратными, и измените высоту строки на 28,8 И измените ширину столбца на 4,56.

0

Нажмите и перетащите на границе между строками. Чтобы изменить размер более одного столбца / строки за раз, выделите их все, щелкните правой кнопкой мыши и выберите «Высота строки ...» и задайте ту же высоту, что и широкие строки.

0
  • Выберите столбцы (щелкните столбец A, затем удерживайте Shift и щелкните другой конец)

  • Щелкните правой кнопкой мыши по одному из столбцов, выберите « Ширина столбца» и введите новое значение.

  • Вы можете сделать то же самое со строкой, затем нажать « Высота строки», чтобы получить высоту строки.

0
  • Выделить все - Ctrl+A
  • Щелкните правой кнопкой мыши заголовок любого столбца и выберите ширину столбца.
  • Введите значение = 4> ОК
  • Там вы увидите все клетки в идеальной квадратной форме.
-1

Простое решение

  • выбрать все ячейки
  • перетащите столбцы до нужного размера в пикселях (размер столбца будет отображаться как в точках, так и в пикселях при перетаскивании и изменении размера столбцов)
  • повторить для строк (выбрав одинаковое количество пикселей)
  • это должно дать вам идеальные квадратные ячейки на листе

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .