【问题标题】:Finding the width of a set of text查找一组文本的宽度
【发布时间】:2020-04-27 13:54:02
【问题描述】:

我正在尝试找出是否有办法确定一组文本是否比它所在的单元格宽。我发现的只是使用文本换行和自动调整选项。

我正在做的是一个模板,它会自动填充一个宏——从数据库中获取信息。我希望能够确定某些单元格中的文本是否太长,然后 marco 将截断文本并将其添加到下一行中的另一个单元格中。使用自动高度选项会弄乱模板结构,所以我想尽一切办法避免它。

所以总而言之,我希望能够获得某组文本的宽度。

使用 Excel 2016

【问题讨论】:

  • 由于 Excel 使用粗略估计的字符作为列宽,请将 Len(String) 与 column.width 进行比较。
  • 如果可能的话,我还建议为此使用等宽字体,例如 Consolas。这样,字符串的长度将直接影响文本的总宽度。
  • 我会看看我用 Len(string) 得到的结果有多一致。至于使用等宽字体 - 我们的模板必须是 Arial 格式,而且没有灵活性。

标签: excel vba


【解决方案1】:

下面是使用 VBA 的一个小问题:

Dim myWidth As Double
Dim textWidth As Double

myWidth = Range("A1").EntireColumn.ColumnWidth
Range("A1").EntireColumn.AutoFit
textWidth = Range("A1").EntireColumn.ColumnWidth
Range("A1").ColumnWidth = myWidth
MsgBox textWidth

请注意,这会给您带来不同的结果,具体取决于目标单元格中​​的字体

【讨论】:

  • 感谢您分享这个想法。我会试一试,并尝试为它制作一个对用户隐藏的背景表,这样我就不会弄乱模板和其中的一组图像。
猜你喜欢
  • 2012-03-13
  • 1970-01-01
  • 2011-07-07
  • 2012-05-18
  • 2011-05-06
  • 1970-01-01
  • 1970-01-01
  • 2011-01-12
  • 2021-03-16
相关资源
最近更新 更多