Excel 删除一行单元格,但不删除整行

Excel 删除一行单元格,但不删除整行,excel,vba,Excel,Vba,我只需要删除单元格7B:7G,而不删除7A。如何使用excel VBA执行此操作 以下是我现在掌握的代码: Option Explicit Sub Import() Dim lastrow As Long Dim wsIMP As Worksheet 'Import Dim wsTOT As Worksheet 'Total Dim wsSHI As Worksheet 'Shipped Dim wsEST As Worksheet 'Estimate

我只需要删除单元格7B:7G,而不删除7A。如何使用excel VBA执行此操作

以下是我现在掌握的代码:

Option Explicit

Sub Import()

    Dim lastrow As Long
    Dim wsIMP As Worksheet 'Import
    Dim wsTOT As Worksheet 'Total
    Dim wsSHI As Worksheet 'Shipped
    Dim wsEST As Worksheet 'Estimate
    Dim wsISS As Worksheet 'Issued
    Dim cel As Range

    Set wsIMP = Sheets("Import")
    Set wsTOT = Sheets("Total")
    Set wsSHI = Sheets("Shipped")
    Set wsEST = Sheets("Estimate")
    Set wsISS = Sheets("Issued")

    With wsIMP

        wsIMP.Range("E6").Cut wsIMP.Range("E5")
        wsIMP.Range("B7:G7").Delete (xlShiftUp)

    End With

End Sub

您需要做的是删除范围
B7:G7
,向左或向上移动单元格(取决于要求):


使用With时,不应在中间两行中提到wsIMP。将代码更改为:

With wsIMP

    .Range("E6").Cut .Range("E5")
    .Range("B7:G7").Delete (xlShiftUp)

End With

还要注意第二范围表示法。它是B7:G7而不是7B:7G

我实际上是这样做的:
Range(“B7:G7”)。删除xlShiftUp
,它就能完美工作。谢谢你的帮助,如果你不。在Range…,则宏将使用activesheet而不是wsIMP。如果要在非活动工作表的工作表中使用宏,这可能很重要
range("B7:G7").delete(xlShiftUp)
With wsIMP

    .Range("E6").Cut .Range("E5")
    .Range("B7:G7").Delete (xlShiftUp)

End With