Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/15.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/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
VBA EXCEL在特定行上方添加空行[打开]_Vba_Excel_Button - Fatal编程技术网

VBA EXCEL在特定行上方添加空行[打开]

VBA EXCEL在特定行上方添加空行[打开],vba,excel,button,Vba,Excel,Button,我试图编写一些VBA,允许按钮添加一个空行,保持相同的格式,就在求和公式所在行的上方 到目前为止,我在创建一个空行方面取得了成功,但我不知道如何实现代码,让新行继承相同的格式样式(包括边框和格式单元格) 到目前为止,我的代码是: Sub InsertRev() Dim c As Range Set Rng = ActiveSheet.Range("d1:d5000") For dblCounter = Rng.Cells.Count To 1 Step -1

我试图编写一些VBA,允许按钮添加一个空行,保持相同的格式,就在求和公式所在行的上方

到目前为止,我在创建一个空行方面取得了成功,但我不知道如何实现代码,让新行继承相同的格式样式(包括边框和格式单元格)

到目前为止,我的代码是:

    Sub InsertRev()
    Dim c As Range
    Set Rng = ActiveSheet.Range("d1:d5000")
    For dblCounter = Rng.Cells.Count To 1 Step -1
        Set c = Rng(dblCounter)
        If c.Value Like "*TOTAL*" Then
        c.EntireRow.Insert
    End If
    Next dblCounter
End Sub

非常感谢您的帮助。

您可以为
Insert
方法指定参数:

Sub InsertRev()
    Dim c As Range
    Set Rng = ActiveSheet.Range("d1:d5000")
    For dblCounter = Rng.Cells.Count To 1 Step -1
        Set c = Rng(dblCounter)
        If c.Value Like "*TOTAL*" Then
            c.EntireRow.Insert xlShiftDown, xlFormatFromLeftOrAbove
        End If
    Next dblCounter
End Sub

您是否可以复制并粘贴从标题复制的新插入的数据行

TheInsertedRange.PasteSpecial Paste:=xlPasteFormats
比如:

Sub InsertRev()
    Dim c As Range
    Dim Ptr As Range
    Set Rng = ActiveSheet.Range("d1:d5000")
    For dblCounter = Rng.Cells.Count To 1 Step -1
        Set c = Rng(dblCounter)
        If c.Value Like "*TOTAL*" Then
            Set Ptr = c
            Ptr.EntireRow.Insert
            c.Copy
            Ptr.Offset(-1).PasteSpecial Paste:=xlPasteFormats
       End If
    Next dblCounter
End Sub

类似这样的东西…

实际上它应该自动从上面的行继承格式,您检查了吗?没有,实际上它对格式单元格有效,但对布局无效。i、 我以前试过这种方法,但它不能保持上面单元格的边界。我不明白为什么…我尝试了这段代码,但不幸的是,它没有让新生成的行继承上一行(旧)单元格的边框。这里没有任何内在的东西。您只是从其他数据复制数据格式。对我有用。顺便说一下,如果要复制1个单元格,它将只使用1个单元格格式。如果你复制3个单元格,比如使用:c.Resize(,4)。复制它将在新插入的区域复制4个单元格。。ETC应该说,如果你复制数据格式,比如说4个cellsOk,那从来都不是问题。问题在于新生成的单元格的边框,我希望它们有一个右边框(就像上面几行中的单元格一样),而新行中的单元格没有边框。这就是我想要的。是的,我明白了,但是边框是一种单元格格式。这也是复制的。至少对我来说是这样:)