it-swarm-ru.tech

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

В Microsoft Excel

alt text

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


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

Row height: 15
Column width: 8.43

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

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

alt text

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

51
Lazer

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

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

Square Cells

47
dav

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

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

Готово!

14
Torben Gundtofte-Bruun

Ширина столбца 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

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

8
dkusleika

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

5
Nick

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

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

Результат:

 Result

2
Amit Panasara

Вот решение 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
JackRnl

На самом деле, у меня была такая же проблема в прошлом. Для меня лучше всего работает следующий код 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
user609057

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

2
boot13

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

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

enter image description here

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

2
Keltari

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

2
user467579

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

1
Mehper C. Palavuzlar

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

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

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

1
Carol

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

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

1
Jimbo

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

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

0
Rich Morgan

Это делает трюк довольно аккуратно, используя 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
Max

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

0
Krishna Patel

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

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

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

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

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