给定一个固定的单元格宽度,我可以更改字体大小,以便文本适合在单元格内?

我有代码,会自动调整单元格的高度,以便文本将适合该单元格内。
但是现在我想要改变单元格内文本的字体大小,这样字体就会缩小和增长,使文本适合单元格,所以我不必将单元格的宽度设置为固定大小。

我如何在VBA中做到这一点?

我需要知道文本的宽度,给定一个字体大小

选项1。

TextWidth = WidthOfAText(Range("A1").Value) FontAdjustmentFactor = Range("A1").EntireColumn.ColumnWidth / TextWidth FontSize = Range("A1").Font.Size * FontAdjustmentFactor Range("A1").Font.Size = Max(4, Min(10, FontSize)) 

或者我需要知道文本是否会修复,并进行某种反复试验。

选项2。

 Range("A1").Font.Size = 10 While (Text_does_not_fit AND Range("A1").Font.Size >= 5) Range("A1").Font.Size = Range("A1").Font.Size - 1 Wend 

我该怎么做呢? (最好使用类似于选项1的代码)

非编程方式只需右键单击单元格 – >格式单元格 – >alignment – >收缩以适合

明智的代码是:

 Sheet1.Range("A1").ShrinkToFit = True