Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 如何在每个表前添加空白列_Excel_Vba - Fatal编程技术网

Excel 如何在每个表前添加空白列

Excel 如何在每个表前添加空白列,excel,vba,Excel,Vba,我需要将表格格式化为两张“开始”表格,使它们看起来像“结果”表格 我的示例文件,包括三张纸:“开始1”、“开始2”和“结果”。 “开始1”和“开始2”是相同的。 我在顶部添加一个空白行,并冻结标题行 以下是任务: 在每个表前添加一个空白列。添加的列必须没有填充颜色和边框。(此处的每个表格由顶部标题行中的合并单元格标识) 用数据确定最后一列,用数据最后一行,以隐藏空白外部空间。 此工作簿模块中的代码: 选项显式 私有子工作簿\u关闭前(取消为布尔值) Dim bScrUpdate为布尔值 将

我需要将表格格式化为两张“开始”表格,使它们看起来像“结果”表格

我的示例文件,包括三张纸:“开始1”、“开始2”和“结果”。
“开始1”和“开始2”是相同的。

我在顶部添加一个空白行,并冻结标题行

以下是任务:

  • 在每个表前添加一个空白列。添加的列必须没有填充颜色和边框。(此处的每个表格由顶部标题行中的合并单元格标识)
  • 用数据确定最后一列,用数据最后一行,以隐藏空白外部空间。
此工作簿模块中的代码:

选项显式
私有子工作簿\u关闭前(取消为布尔值)
Dim bScrUpdate为布尔值
将ws设置为工作表
变暗rng As范围
Application.EnableCancelKey=xlDisabled'禁用ESC键
bScrUpdate=应用程序屏幕更新
如果bScrUpdate=True,则Application.ScreenUpdate=False
Application.DisplayAlerts=False
对于此工作簿中的每个ws。工作表
如果ws.Name是“result”,那么
ws.Select
行(“1:1”)。插入移位:=xlDown
范围(“A4”)。选择
ActiveWindow.FreezePanes=True
对于行(“2:2”)单元格中的每个rng
如果rng.MergeCells那么
rng.MergeArea.Cells(1,1)。选择
Selection.Offset(-1,1).entireclumn.Insert Shift:=xlToRight,CopyOrigin:=xlformatfromfloftorabove
如果结束
下一个rng
如果结束
下一个ws
Application.DisplayAlerts=True
如果不是Application.ScreenUpdate=bScrUpdate_
然后Application.screenUpdate=bScrUpdate
Application.EnableCancelKey=xlInterrupt'启用ESC键
端接头

要添加列并清除其所有格式,可以执行以下操作:

Sub InsertCol()
    Columns(1).Insert
    Columns(1).ClearFormats ' might be unnecessary
End Sub
如果要确定最后一行/列,请查看