防止 Excel 在单元格中自动“换行”

防止 Excel 在单元格中自动“换行”

假设我们有一个电子表格,其中所有行都有相同的默认高度。

在一个单元格中,我们来写Hello ALT+ENTER World。我确实有时需要在单元格中输入多行文本,写一些长注释等。

然后这个细胞就会自动地启用Wrap text按钮(在主页功能区菜单中),并且此特定行将自动地增加其高度。

如何禁用此自动功能Wrap text而无需Wrap text再次手动单击来禁用它?


另请参阅(链接问题没有针对此问题的完美解决方案):

答案1

设置固定行高


为了阻止行高增加以适应包含ALTENTER换行符的内容,您可以将行高设置为固定值。

行高:Fixed Value  对阵  Default

指示


  1. 选择要锁定高度的行
  2. Row Height使用以下方法之一  打开对话框:参见以下图片
     A。  功能区栏:  选择Home > Format > Row Height   
     B.  老鼠:  Right-click> left-click Row Height   
     C。  键盘:  ALT+H然后OH
  3. 选择OK接受预填充的行高或设置您选择的数值,然后单击 “好的”  *  笔记 以下

笔记


ROW HEIGHT对话框   (说明:步骤 3)

  • 单排选定的 Row Height 对话框中始终会有 Row height 场地预填充与行的当前高度
  • 多行选择后,该字段将预先填充仅有的如果都有高度相同
  • 任何时候预填充,可以立即选择 OK (编辑字段值变为[可选])。
  • 如果高度多行不匹配, 这 Row height 领域将空的. 在这种情况下,值必须输入在选择之前 OK否则,就相当于选择 CANCEL

 

丝带条形方法


Home > Format>Row Height

右键单击方法


Right-Click

键盘方法


ALT+H

然后O

然后H

答案2

您可以告诉我们您使用的是哪个版本的 Office?

如果您拥有的是 Professioanl Plus 版本之一,您可以尝试组策略来禁用此快捷方式。

User Configuration > Administrative Templates > Microsoft Excel 2016 > Disable Items in User Interface > Custom, enable "Disable shotcut keys". 然后输入以下“[key],[modifier]”值:13,16

在此处输入图片描述

欲了解更多信息,请参阅“使用组策略禁用 Office 2013 中的用户界面项和快捷键“。

答案3

  1. Ctrl + A 选择当前工作表中的所有单元格
  2. 右键单击任意行号 > 行高 > 确定
  3. 右键单击任意行号 > 设置单元格格式 > 垂直对齐 = 顶部 > 确定

答案4

这是寻找解决方案时创建的另一种方法。我不确定是否有人会这样做,但它可能会给一些人一个想法。工作簿必须启用宏(XLSM),并且需要将代码放入工作表中。然后,必须选择单元格。不包括禁用屏幕更新等操作。尽情享受吧。

Private Sub Worksheet_Change(ByVal Target As Range)
'If even one cell in the selection has text wrapped, and
'if even one cell in the selection is changed
'then all cells in the selection have WrapText turned off
'Intersect Logic Source
'https://stackoverflow.com/questions/15337008/excel-vba-run-macro-automatically-whenever-a-cell-is-changed
'Modified to prevent Wrap Text from being enabled when cell becomes dirty
'
'Range.WrapText property short description
'  It matters not how many cells in the range contain data, if any
'  if Me.Range("A1:B3").WrapText =
'     True:  All cells are wrapped
'     False: No cell is wrapped
'     Null:  at least one, but not all, cells are wrapped
On Error GoTo ErrorRoutine
   Dim lngRow1 As Long
   Dim lngRow2 As Long
   Dim lngCol1 As Long
   Dim lngCol2 As Long
   Dim rngSelected As Range

   'of course, these values would most likely be determined
   lngRow1 = 1
   lngRow2 = 3
   lngCol1 = 1
   lngCol2 = 2

'  The example demonstrates two formats, for "A1:B3", the first fixed and the second calculated
'  The intersect could, of course, consist of a single cell ("A2")
   If Intersect(Target, Me.Range("A1:B3")) Is Nothing Then Exit Sub   'I'm unsure how this line helps
   Application.EnableEvents = False 'to prevent endless loop

   Set rngSelected = Selection         'Reselect their selection
   Me.Range(Cells(lngRow1, lngCol1), Cells(lngRow2, lngCol2)).Select
   With Selection
      If .WrapText = False Then
         GoTo ExitRoutine
      Else
         .WrapText = False
      End If
   End With
ExitRoutine:
   Application.EnableEvents = True    're-enable the events
   rngSelected.Select
   Set rngSelected = Nothing
   Exit Sub
ErrorRoutine:
   MsgBox Err.Number & ": " & Err.Description
   Resume ExitRoutine
End Sub

相关内容