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

53

В Microsoft Excel

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

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


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

Row height: 15
Column width: 8.43

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

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

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

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

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

Ответы:

50

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

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

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

DAV
источник
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

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

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

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

Ник
источник
2

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

boot13
источник
2

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

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

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

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

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

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

user467579
источник
... для меня это всего .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.

user609057
источник
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
JackRnl
источник
Что такое 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

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

  • выбрать все ячейки
  • перетащите столбцы до нужного размера в пикселях (размер столбца будет отображаться как в точках, так и в пикселях при перетаскивании и изменении размера столбцов)
  • повторить для строк (выбрав одинаковое количество пикселей)
  • это должно дать вам идеальные квадратные ячейки на листе
Гость 123
источник
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
Максимум
источник
Просто понял, Джекри сделал это немного чище.
Макс