给定一个固定的单元格宽度,我可以更改字体大小,以便文本适合在单元格内?
我有代码,会自动调整单元格的高度,以便文本将适合该单元格内。
但是现在我想要改变单元格内文本的字体大小,这样字体就会缩小和增长,使文本适合单元格,所以我不必将单元格的宽度设置为固定大小。
我如何在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