2012-06-08 69 views

回答

3

除了您提到的两种方法(重新调整单元格大小并设置它包裹)之外,唯一的方法是在相邻单元格中添加文本。 Siddharth Rout指出,如果将单元格设置为“缩小到合适”(在对齐>文本控制下),字体大小将自动缩小,以使内容适合单元格宽度。 ]如果你只想在单元格的边缘切断长文本,只有当文本以其他方式流入的单元格具有自己的内容时,Excel才会这样做。

执行,最快的办法自动将:

  1. 遍历与内容的所有细胞。
  2. 如果水平相邻的单元格中没有内容,请在其中放置一个空格。

请注意,您应利用溢出的内容做这两种细胞对细胞的左边和右边,或者检查是否文本左对齐或右对齐,以帮助决定这两个水平相邻的细胞都需要被填补。

如果您只想为可能会溢出的单元执行此操作,则必须执行更复杂的操作。您将必须:

  1. 循环遍历所有包含内容的单元格。
  2. 检查与当前单元相邻的单元是否为空白。如果没有,您可以跳过这个单元格并转到下一个单元格。
  3. 将当前单元格的内容复制到空白列中的单元格(最好在新的临时表单上)。
  4. 告诉你的临时列自动调整大小(找出所需的单元格宽度)。
  5. 如果临时列的自动大小宽度大于源列的宽度,则单元格内容将溢出 - 因此您需要在相邻单元格中放置空格。
3

早上好。有一个干净地做到这一点:

  • 选择范围
  • 右键点击,从“水平”下拉>“设置单元格格式”>“对齐”选项卡
  • 中的文字对齐区域中,选择“填充”菜单

在VBA中,看起来像:

Sub AwayWithYouConfusingOverlap() 
    Range("A1").HorizontalAlignment = xlFill 
End Sub 
+0

与此唯一的问题是,如果文本足够短,它将复制,直到它填写了单元格。尽管如此,它足以满足我的需求 –

1

我最近发现了一个干净的方法,以防止重叠的文本˚F出现ROM连续单元:

  • 选择范围
  • 右击>格式细胞>对准>复选框包裹

结果可能看起来像难看,因为不同的线可以具有不同的高度显示。 但是它仍然有可能所有通过强制所有的行有同样的高度来解决:

  • 选择范围
  • 右键点击最左边的列(持有行号)>行高度>输入所需的值。

就是这样......

我希望我的法语也不会掩盖我的英语水平,至少不会太多。


此解决方案的优点还在于打印(如果您希望防止溢出到额外的空白页中),因为您不需要额外的列。

同样的程序可以在VBA做有:

With Range("A1:H100") 
    .WrapText = True ' enable wrapping, will autoformat height 
    .rows.RowHeight = 12.75 ' set back to default height, overflow is removed 
End With