Excel 查找一组文本的宽度

Excel 查找一组文本的宽度,excel,vba,Excel,Vba,我试图找出是否有办法确定一组文本是否比它所在的单元格宽。我所发现的就是使用文本换行和自动调整选项 我正在做的是一个模板,可以用宏自动填充-从数据库获取信息。我想知道,如果某些单元格中的文本太长,marco将截断文本并将其添加到下一行的另一个单元格中。使用“自动高度”选项会弄乱模板结构,所以我想尽量避免使用它 总之,我希望能够得到文本集的宽度 使用Excel 2016使用VBA有点混乱: Dim myWidth As Double Dim textWidth As Double myWidth

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

我正在做的是一个模板,可以用宏自动填充-从数据库获取信息。我想知道,如果某些单元格中的文本太长,marco将截断文本并将其添加到下一行的另一个单元格中。使用“自动高度”选项会弄乱模板结构,所以我想尽量避免使用它

总之,我希望能够得到文本集的宽度


使用Excel 2016

使用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

请注意,这将根据目标单元格中的字体给出不同的结果

,因为Excel使用字符的粗略估计作为其列宽,请将Len(String)与column.width进行比较。如果可能,我还建议使用单间距字体,如Console。这样一来,字符串的长度将直接影响文本的总宽度。我将看到我得到的结果与Len(string)的一致性。至于使用单间距字体-我们的模板必须是Arial字体,没有灵活性。谢谢分享这个想法。我会给它一个镜头,并尝试做一个背景页,隐藏给用户,这样我就不会弄乱模板和图像集在它。