给定固定的单元格宽度,我可以更改字体大小以使文本适合单元格吗?

时间:2011-09-28 09:00:48

标签: excel vba

我的代码会自动调整单元格的高度,以便文本适合该单元格 但是现在我想更改单元格内部文本的字体大小,以便字体缩小并增长以使文本适合单元格内部,因此我不必将单元格宽度设置为固定大小。

如何在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中的代码)

1 个答案:

答案 0 :(得分:4)

非编程只需右键单击单元格 - >格式化单元格 - >对齐 - >收缩适合

代码明智是:

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