Как сделать клетки идеальными квадратами в Excel?


53

В Microsoft Excel

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

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


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

Row height: 15
Column width: 8.43

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

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

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

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


5
Смотрите эту статью .
Ланс Робертс

вышеуказанная ссылка была мертвой. Архивная ссылка . Смотрите также support.office.com/en-us/article/... , smallbusiness.chron.com/...
phuclv

Ответы:


50

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

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

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


7
Самый идеальный ответ на эту идиотскую проблему Excel, которую я когда-либо слышал !! Я обычно не измеряю вещи в «точках» ...
namezero

Если вы вернетесь к обычному виду и хотите скрыть разрывы страниц, которые ранее были отключены: Файл -> Параметры -> Дополнительно -> Параметры отображения для этого листа -> снимите флажок Показать разрывы страниц.
BurnsBA

2
масштаб сетки не дюймы, а система или стандартная единица Excel, которая может быть см или мм
phuclv

15

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

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

Выполнено!


Это самый простой ответ. Никаких сценариев или смены взглядов. Очень хорошо.
адвокат дьявола

1
Upvoted. Это здорово, так как я смог найти пиксельный эквивалент для дюймов :)
deepakssn

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

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


3
Я бы подумал, что с такой мощной программой, как Excel, что-то такое простое, как это, будет проще. Но это не так.
Саша Чедыгов

14
Это потому, что Excel - это программа для работы с электронными таблицами / бухгалтерией, а не механизм оформления документов. Также бессмысленно указывать абсолютные значения высоты / ширины для ячеек, поскольку в разных системах используются разные шрифты по умолчанию, которые имеют разные размеры символов. Использование относительных единиц вроде emимеет больше смысла.
Lèse Majesté

5

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


2

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


2

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

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

введите описание изображения здесь

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


1
Это изображение идеально, если кто-то хочет мигрени :)
Дейв

2

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


... для меня это всего .ColumnWidth = .RowHeight / 7лишь +1 за идею простого использования отношения.
ashleedawg

2

На самом деле, у меня была такая же проблема в прошлом. Для меня лучше всего работает следующий код 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/help/214123/description-of-how-column-widths-are-determined-in-excel.


2

Следующий код работал для меня

Sub Grid_Squares()
    With Cells(1, 1)
        Cells.RowHeight = .Width
        Cells.ColumnWidth = .ColumnWidth
    End With
End Sub

Результат:

Результат


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

Что такое wksToHaveSquareCells?
Excellll

1

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


Пожалуйста, смотрите мои обновления в вопросе.
Лазер

Вы можете вручную попытаться получить квадрат. Например, установите высоту строки = 15 и ширину столбца = 3.
Мехпер С. Палавузлар

1

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

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

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


1

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

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


... для меня это всего .ColumnWidth = .RowHeight / 7лишь +1 за идею простого использования отношения.
ashleedawg

1

Я считаю, что это самое простое решение ...

Этот метод использует линейку Excel, таким образом, более понятные / более простые и точные размеры строк и столбцов.

  • Выберите Вид на ленте
  • В представлении рабочей книги выберите макет страницы
  • Если линейка не отображается, установите флажок Линейка в группе Показать.
  • Нажмите кнопку «Выбрать все» (левый верхний угол под именной книгой)
  • Щелкните правой кнопкой мыши строку, выберите параметр регулировки размера и введите желаемое значение измерения. Щелкните правой кнопкой мыши и повторите для столбца.

Это действительно так. В результате получаются визуально совершенные квадраты. Существует даже возможность изменить единицы измерения в группе «Отображение» на вкладке «Дополнительно» в параметрах Excel. Надеюсь, это будет очень полезно! :)


0

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


В меню правой кнопки «высота строки» отсутствует.
Лазер

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

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

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


0

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


0

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

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

0

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

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


Какой именно ваш ответ? «Вставить квадрат из панели инструментов рисования»? Этот ответ был дан более четырех лет назад. «Размер ваших клеток до 2,71 × 18»? Как это способ «сделать квадраты любого размера»? «Размер ваших клеток в соотношении 2,71 × 18»? Это что-то вроде четвертого ответа, который предлагает конкретное числовое соотношение.
Скотт

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

1
Не на моем мониторе с моей версией Excel с моими настройками. Значение специфичны для столбца ширина только гарантированно работать на вашей точной настройки и бесполезен в качестве ответа без явного указания , что это такое. Пожалуйста, прочитайте другие ответы, чтобы узнать почему.
robinCTS

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

Просто понял, Джекри сделал это немного чище.
Макс
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.