Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/23.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_Range - Fatal编程技术网

Excel 如何在两个范围之间引用一个范围

Excel 如何在两个范围之间引用一个范围,excel,vba,range,Excel,Vba,Range,我正在尝试删除以下两个Excel范围之间的值: ActiveSheet.Range(“A10”).偏移量(1,1) ActiveSheet.Cells.Find(“小计”).Offset(-1,0) 我是否需要将上述两个值存储在某个变量中,或者可能有更好的方法,因为以下内容无法编译: ActiveSheet.Range("ActiveSheet.Range("A10").Offset(1, 1):ActiveSheet.Cells.Find("Sub

我正在尝试删除以下两个Excel范围之间的值:

  • ActiveSheet.Range(“A10”).偏移量(1,1)
  • ActiveSheet.Cells.Find(“小计”).Offset(-1,0)
我是否需要将上述两个值存储在某个变量中,或者可能有更好的方法,因为以下内容无法编译:

ActiveSheet.Range("ActiveSheet.Range("A10").Offset(1, 1):ActiveSheet.Cells.Find("Sub Total").Offset(-1, 0)").SelectSelection.ClearContents

首先声明两个范围
rangeA
rangeB
,并将它们分配给所需的范围。然后,使用
.Cells(1,1)
属性获取它们的左上角单元格,将它们分配给
range c

使用
ActiveSheet
,但它可以工作:

Sub TestMe()
    
    Dim rangeA As Range
    Dim rangeB As Range
    
    Set rangeA = ActiveSheet.Range("A10").Offset(1, 1)
    Set rangeB = ActiveSheet.Cells.Find("Sub Total").Offset(-1, 0)
    
    Dim rangeC As Range
    Set rangeC = ActiveSheet.Range(rangeA.Cells(1, 1), rangeB.Cells(1, 1))

    rangeC.Select

End Sub

@BigBen-是的,这个也可以。@BigBen-这是一个哲学问题-如果范围不是一个单元格,而是多个单元格,我会使用
.Row
.Column
。这样,我将始终得到左上角,我将100%确定发生了什么。@BigBen-是的,
range.Cells(1,1)
将非常好地工作。