Właściwie, to miałem w przeszłości tę samą sprawę. To, co dla mnie najlepsze, to następujący kod VBA. Znalazłem liniową zależność po prostu metodą prób i błędów.
Kod działa dla pojedynczych komórek, ale także dla selekcji. W tym drugim przypadku kwadraty są oparte na całkowitej szerokości lub wysokości zaznaczenia.
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
Możesz umieścić te makra w module i przypisać do nich przyciski na pasku narzędzi szybkiego dostępu
Zauważ, że kwadraty znikają (przez zmianę szerokości kolumny) po zmianie typu czcionki lub rozmiaru. Wynika to ze sposobu, w jaki Excel oblicza szerokość kolumny. Zobacz: https://support.microsoft.com/en-us/help/214123/description-of-how-column-widths-are-determined-in-excel