Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/27.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/17.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,您好,我在excel 2013中制作了一个按钮,根据用户输入将一个新列添加到我的表中。现在按钮生成列,但是当我转到打印预览时,它复制的列的分隔行被删除。我的意思是: ![生成新列后打印电子表格预览][1] 请注意,生成新列时,“培训”和“保修”列没有行分隔符 在新生成的列中,第一个单元格不是橙色的,并且顶部缺少一行。我没有主意了,不能使用宏,因为表格的行和列发生了变化,这意味着范围发生了变化 下面是代码 Private Sub CommandButton22_Click()

您好,我在excel 2013中制作了一个按钮,根据用户输入将一个新列添加到我的表中。现在按钮生成列,但是当我转到打印预览时,它复制的列的分隔行被删除。我的意思是:
![生成新列后打印电子表格预览][1]

请注意,生成新列时,“培训”和“保修”列没有行分隔符

在新生成的列中,第一个单元格不是橙色的,并且顶部缺少一行。我没有主意了,不能使用宏,因为表格的行和列发生了变化,这意味着范围发生了变化

下面是代码

      Private Sub CommandButton22_Click()
      Dim colIndex As Variant

     colIndex = Application.InputBox("Enter a column that you want to add: ",     "What column?", , , , , , 2)               '< force a text'
     If colIndex = "" Then Exit Sub
     With ThisWorkbook.Sheets("Sheet1").Columns(colIndex)                            'reference column you want to insert
    .Insert shift:=xlRight                                                      '<insert a new column , then the referenced one shifts one column to the right of the inserted one'
    .Offset(, -3).Copy                                                          '< copy the column two columns to the left of the referenced one (i.e. one column left of the new one)'
    .Offset(, -1).PasteSpecial xlPasteFormats                                    '< paste formats to the new column'
      Application.CutCopyMode = False
     End With

    End Sub
Private子命令按钮22_单击()
Dim colIndex作为变体
colIndex=Application.InputBox(“输入要添加的列:”,“什么列?”,,,,,2)”.Insert shift:=xlRight'当您将列、行或单元格添加到现有区域时,我了解到Excel无法以我期望的方式可靠地格式化新区域。对我来说,显式格式化新添加的范围更容易,这样我就知道我得到了什么。在您的情况下,您正在查找边框,以便现有VBA代码可以执行此操作

选项显式
子测试()
Dim newCol As系列
设置newCol=ActiveSheet.Range(“S1:S100”)
带新边框(左)
.LineStyle=xlContinuous
.Weight=xlThin
.ColorIndex=xlColorIndexAutomatic
以
端接头

Hi-deatkhamp;您是的“云”用户吗?是的,谢谢您上次的帮助。不客气。如果你能提供反馈和(可能)密切的问题,那就太好了。那你为什么要改名字呢?我不知道它离我有多近,我登录了这个gmail,所以当我登录stack时,它会自动使用这个gmail。插入列(或行或单元格)不能可靠地复制周围单元格的(预期)格式,至少在我的经验中是这样的。因此,为了确保获得所需的列格式,您需要修改单元格的
边框
,以确保它。我从我的OP lol中得到了相同的结果,我认为它没有任何作用。您的OP适合我(我在发布答案之前没有尝试过)。所以现在我猜。。。插入列中的(-3)列没有绘制左边框。手动查看单元格格式设置,请参见。它看起来是正确的,因为相邻列的右侧边框已打开。嘿,彼得,按钮是否也可以复制颜色,因为当它生成新列时,它只是一个空白的空框?注意到I列了吗?您是否尝试过
.Offset(,-1).ColorIndex=.Offset(,-3).ColorIndex
?您发布的代码行只有在整个列都是相同颜色时才起作用,但我的模式是一行灰色一行白色,重复到表尾。使用您发布的代码,我得到的对象不支持此属性?