如果Excel工作表单元格的ShrinkToFit属性设置为True,则Excel会根据需要缩小字体大小以适合所有文本。
是否可以在VBA中检测此类单元格的字体大小是否已缩小?很容易看到它发生在我的眼睛,但我需要用VBA检测它。
请注意我不是在询问如何检查ShrinkToFit属性是否已设置为True。没有什么比这更容易了。我问如何检查单元格的字体大小是否实际缩小,只有在需要适合所有文本时才会发生。
答案 0 :(得分:1)
我没有找到解决方案,并决定走另一个方向。然而,从那以后我就有了这个想法,我没有测试过:
制作隐藏的工作表或工作簿,然后将单元格复制到其中的单元格。复制列宽也是如此。在该工作表上将“收缩”设置为“关闭”。检查列宽。现在对该列进行自动调整。现在再次检查列宽。自动调整是否扩大了列(再次关闭ShrinkToFit)?如果是这样,那么我认为这是一个安全的赌注,它在原来缩小了。
答案 1 :(得分:0)
这是检查ShrinkToFit的示例,在此示例中考虑了Sheet1中的单元格A1:
Sub test()
Dim rngRange As Range
'Assign Range
Set rngRange = Sheet1.Range("A1")
'Set shrinkto fit as true
rngRange.ShrinkToFit = True
'Check whether cell is Shrink to fit or not
If rngRange.ShrinkToFit Then
'Set Shrinktofit as false or do something
rngRange.ShrinkToFit = False
End If
End Sub