如何在Excel中删除空行:轻松实现
在宽大的Excel工作表中工作,无法跟踪哪一行属于哪个名称? 冻结列将其锁定在原位,以便在水平滚动数据时保持可见。 Excel称此功能为"冻结窗口",它可以一次锁定列、行或列和行的任意组合,在导航工作表时保持它们可见。
冻结一列的最快方法大约需要两秒钟。 在功能区中选择视图选项卡,点击冻结窗格下拉菜单,然后选择如冻结第一列等选项以锁定列或行。 列A始终锚定在屏幕最左侧,无论滚动多远。 在列A和列B之间出现一条较深的灰色垂直线,标记作为可视确认的冻结窗格边界,而这个单一动作回答了关于这个问题的最常见版本。
对于包含多个列的冻结部分,相同的冻结窗格选项通过一个额外步骤完成。选择要冻结的最后一列右侧的单元格或列,然后选择视图 > 冻结窗格 > 冻结窗格。 活动单元格左侧的所有内容锁定在原位。 如果要冻结行和列,请选择要锁定的列右侧和行下方的单个单元格,然后选择冻结窗格。 同一个菜单也涵盖独立的行,并处理一起冻结行和列,这将在下面进一步介绍。 对于那些通过代码而不是通过功能区自动化Excel文件的团队,应用相同的逻辑:通过C#程序添加冻结窗格的指南显示通过桌面应用保存的窗格和代码编写的窗格最终以相同方式存储在文件中。

方法1:冻结第一列(最快选项)
这是通常用于使左侧第一列保持可见的方法,通常是一列名称、ID、日期或标签,其他行依赖于这些信息。
步骤:
- 打开Excel电子表格。
-
在Excel窗口顶部选择视图选项卡。
-
在窗口组中,点击冻结窗格以打开下拉菜单。
- 选择冻结第一列选项。
在列A的右侧显示一条淡淡的垂直线。 向右滚动时,第一列保持锁定状态可见。 无需提前选择单元格。无论光标位置如何或哪个单元格是活动的,Excel总是冻结列A。

方法2:一次冻结多个列
当目标是冻结多个列时,例如一起冻结客户ID和客户姓名时,选择单元格或列的步骤很重要。
步骤:
-
点击要冻结的最后一列右侧的列字母。 例如,要冻结前两列(列A和B),选择列C。 要冻结前三列,请选择列D。 左侧第三列在第二种情况下成为边界。
-
导航到视图选项卡。
- 点击冻结窗格,然后从下拉菜单中选择冻结窗格。
现在,前两列或三列在横向滚动其余工作表时保持锚定状态。 淡淡的冻结线在选择的列左侧出现。
这里一个常见的错误是点击单个单元格而不是选择完整的列标题。 Excel使用单元格选择来决定冻结点,并且冻结发生在选定单元格的上方和左侧。 在这种情况下,选择单元格C1与选择列C的结果相同,但选择C5也会冻结前四行,这可能是或可能不是目标。

方法3:冻结窗格的键盘快捷键
Excel没有为冻结窗格分配单个快捷键组合,但一旦记住,功能区快捷键序列可以快速工作。
Windows快捷键: 按Alt,然后按W,接着按F,再按一次F。
序列的详细步骤如下:
- Alt 激活功能区快捷键。
- W 选择视图选项卡。
- F 打开冻结窗格下拉菜单。
- F 选择冻结窗格,这是菜单中的第一个选项。
要改为冻结第一列,序列为Alt > W > F > C。 要冻结顶行,序列为Alt > W > F > R。 这些快捷键在工作表中的光标位置无关紧要。
Mac快捷键: Excel for Mac默认未提供专用的冻结窗格键盘快捷键,但在某些版本中可以通过 工具 > 自定义键盘分配自定义快捷键。 否则,视图菜单方法所需的点击次数大约相同。
附加提示: 新版本的Excel在窗口顶部包括一个"告诉我你想做什么"的搜索框。 在该搜索栏中输入"冻结窗格",Excel会在无需导航功能区的情况下提供相同的选项。

方法4:同时冻结行和列
这是该功能最强大的版本,适用于需要冻结行和列以在滚动期间保持标题或关键数据可见的电子表格。 它同时冻结顶行和左列,因此在滚动时两者都保持可见。
步骤:
-
选择位于行下方和列右侧的应保持可见的单元格。 例如,要冻结第一行和第一列,请选择单元格B2。 要冻结前三行和前两列,请选择单元格C4。
-
导航到视图选项卡。
- 点击冻结窗格 > 冻结窗格。
现在出现两条淡淡的线:冻结的最后一行下方的一条水平线和冻结的最后一列右侧的一条垂直线。 无论滚动方向如何,所选行和列保持可见。 这是仪表板,财务模型和报表的标准设置,其中行和列标题是读取数据的关键。
要在不锁定任何列的情况下单独冻结多行,点击冻结的最后一行下方的行号,然后选择视图 > 冻结窗格 > 冻结窗格。 Excel对待行或列的方式相同,所以同一个菜单处理两者。 要单独冻结顶行,请转到视图选项卡,选择冻结窗格下拉菜单,然后选择冻结顶行。

方法5:任务完成后取消冻结列
即使在关闭和重新打开文件后,冻结的窗格也会保持冻结状态。要清除它们:
-
导航到视图选项卡。
- 点击冻结窗格。
- 从下拉菜单顶部选择取消冻结窗格。
淡淡的冻结线消失,工作表可以自由滚动。 同一个取消冻结窗格选项同时释放冻结的行和列。 没有单独的"取消冻结行"或"取消冻结列"命令,因为Excel将冻结点存储为每个工作表的单一设置。 取消冻结选项出现在"冻结窗格"正常所在的位置,在冻结已激活时替换第一个菜单项。

方法6:将魔术冻结按钮添加到快速访问工具栏
对于频繁冻结和解冻的电子表格,向快速访问工具栏添加单击按钮可以节省时间并消除下拉菜单的麻烦。
步骤:
- 点击快速访问工具栏右端的下拉小箭头(在功能区上方或下方的图标带)。
- 选择更多命令。
-
在从中选择命令下拉菜单中,选择所有命令。
- 向下滚动到冻结窗格,选择它,并点击添加。
- 点击确定。
一个冻结窗格图标现在出现在快速访问工具栏上。 根据当前的单元格选择,一次点击即可切换冻结的开关。 这对于那些在单个会话中多次切换视图的会计师和分析师特别有用。

方法7:在Web版和Mac版Excel中冻结列
Excel的Web版和Mac版处理冻结窗格与Windows桌面应用略有不同。
Excel for the Web(Microsoft 365在线版):
-
在浏览器功能区中点击视图选项卡。
- 点击冻结窗格。
- 选择冻结第一列,冻结顶行或冻结窗格来冻结多个列或多行。
在线版支持与桌面应用相同的三个选项,尽管某些高级功能如快速访问工具栏自定义仍然限于桌面版本。
Excel for Mac:
-
点击视图选项卡。
- 点击冻结窗格。
- 选择适当的选项。
在旧版本的Mac版Excel中,冻结窗格按钮有时显示为单个切换按钮而不是下拉。 点击它基于当前单元格选择进行冻结,类似于Windows的行为。

方法8:使用VBA宏冻结列
要在数十个电子表格中重复相同的冻结设置,一个简短的VBA宏可以自动化这一过程。 这个方法假定您对开发人员选项卡有一定的了解,但代码本身很短。
步骤:
-
按下Alt + F11打开VBA编辑器。
- 点击插入 > 模块。
- 粘贴以下代码:
Sub FreezeFirstColumn()
With ActiveWindow
.SplitColumn = 1
.SplitRow = 0
.FreezePanes = True
End With
End Sub
Sub FreezeFirstColumn()
With ActiveWindow
.SplitColumn = 1
.SplitRow = 0
.FreezePanes = True
End With
End Sub
Sub FreezeFirstColumn()
With ActiveWindow
.SplitColumn = 1
.SplitRow = 0
.FreezePanes = True
End With
End Sub
- 关闭编辑器并从视图 > 宏 > 查看宏运行宏,或将其分配到按钮上。
将 SplitColumn = 1 改为更大的数字以冻结更多列。 例如,SplitColumn = 3 可以冻结前三列。 将 SplitRow 设置为零以外的值以便在顶部冻结多个行,因此 SplitRow = 3 将冻结前三行以及列。
常见问题及故障排除
尽管冻结窗格是一个简单的功能,但一些情况经常让人感到困惑。
冻结窗格变灰
最常见的原因是处于页面布局视图或分页预览中而非普通视图。 切换到视图 > 普通,冻结窗格选项将重新可用。
第二个原因是工作表处于编辑模式,即某个单元格正在编辑中。 按Enter或Esc退出编辑模式并重试。
第三个原因:工作簿被共享、保护或标记为最终。 共享和保护的工作簿在某些Excel版本中具有多个功能被锁定,包括冻结窗格。 通过审阅 > 共享工作簿取消共享,或通过审阅 > 解除保护工作表解除保护,可以恢复访问。
冻结了错误的列或行
这几乎总是与点击"冻结窗格"时的活动单元格有关。 Excel冻结活动单元格上方和左侧的所有内容。 选择取消冻结窗格,然后选择正确的单元格并重试。 要仅冻结第一行,请在点击冻结窗格前选择单元格A2。 要冻结前三行,请选择单元格A4。 要冻结到数据左侧的最后一列(例如,列F),选择列G作为边界。
保存后冻结窗格消失
冻结窗格与工作簿一起保存,关闭和重新打开后应保持存在。 如果它们消失,请检查:
- 文件保存为支持冻结窗格的格式(.XLSX, .XLSM, .XLS)。 .CSV格式不保存视图设置。
- 如果文件从SharePoint或OneDrive在不同的机器上打开,视图设置可能因用户而异,因为Excel有时会根据会话存储窗口状态。
冻结窗格和Excel表格
Excel表格(通过插入 > 表格创建)包含内置功能,当滚动超出视图时,列标题替换列字母(A, B, C)。 这两个功能的目的是不同的,并且可以协同工作。 冻结窗格在整个工作表中锁定列和行的可视性,而表头则处理表格范围内的滚动感知列标签。
冻结的列看起来被截断或未对齐
缩放级别可能导致显示淡淡的冻结线的位置奇怪,特别是在非常高或非常低的缩放设置下。 通过视图 > 缩放 > 100%重置为100%,冻结线应正常对齐。
拆分窗格与冻结窗格
Excel有一个单独的功能叫做拆分(同样在视图选项卡上找到)。 拆分将窗口分成独立可滚动的窗格,而冻结则将窗格锁定在原位。 如果工作表看似冻结但意外滚动,拆分功能可能已激活。点击视图 > 拆分以关闭它。
何时使用冻结窗格而非其他选项
冻结窗格是解决重叠问题的三个相关功能之一:
- 冻结窗格在滚动期间保持行和列的可见性。
- 拆分创建同一工作表的独立滚动视图。
- 新窗口打开同一工作簿的第二个窗口,允许并排两个不同的视图。
对于大多数日常工作,冻结窗格是正确的工具。 拆分窗格在无需来回滚动比较同一工作表的两个距离较远部分时非常有效,而新窗口有助于同时比较同一工作簿中的两张工作表。
对于开发人员:通过编程方式冻结列
对于从代码生成Excel文件而不是手动的团队,相同的冻结窗格设置可以通过库应用。 IronXL是Iron Software的C#库,无需Microsoft Office或Excel Interop即可读取,写入和操作Excel文件。使用IronXL冻结列仅需一行代码:
using IronXL;
WorkBook workbook = WorkBook.Load("report.xlsx");
WorkSheet sheet = workbook.DefaultWorkSheet;
// Freeze the first column
sheet.CreateFreezePane(1, 0);
workbook.SaveAs("report-frozen.xlsx");
using IronXL;
WorkBook workbook = WorkBook.Load("report.xlsx");
WorkSheet sheet = workbook.DefaultWorkSheet;
// Freeze the first column
sheet.CreateFreezePane(1, 0);
workbook.SaveAs("report-frozen.xlsx");
Imports IronXL
Dim workbook As WorkBook = WorkBook.Load("report.xlsx")
Dim sheet As WorkSheet = workbook.DefaultWorkSheet
' Freeze the first column
sheet.CreateFreezePane(1, 0)
workbook.SaveAs("report-frozen.xlsx")
第一个参数是从左侧冻结的列数,第二个是从顶部冻结的行数。传递(2, 1)将冻结前两列和顶行。 该方法的两个参数和四个参数版本的完整代码示例可在C#冻结窗格代码示例指南中找到。
总结
在Excel中冻结列只需在最常见情况下单击一次,几乎其他任何情况下只需一次菜单点击。 "视图"选项卡处理所有这些:冻结第一列以冻结第一列,冻结窗格以冻结多个列或多行,冻结顶行用于顶行,以及取消冻结窗格以清除设定。 键盘快捷键,快速访问工具栏和VBA宏为强大用户提供更快的替代方案,上述故障排除步骤涵盖了一些选项显示为灰色或行为出乎意料的情况。
本指南由IronXL及处理Excel文件编程方式的其他.NET库的创建者撰写。 需要冻结窗格、格式化单元格或从代码生成电子表格的团队可以按照在没有Office的情况下为C#创建Excel文件的分步教程以全面了解这些操作。




