Excel 使用CurrentRegion的自定义范围将第一列的单元格索引设置为-10?

Excel 使用CurrentRegion的自定义范围将第一列的单元格索引设置为-10?,excel,vba,indexing,range,Excel,Vba,Indexing,Range,这是一个奇怪的问题,因为我甚至不知道这是可能的,但希望有一个解决办法。提前谢谢 ThisWorkbook.gRosterPermData.Address 返回: $L$1:$Z$6 这是奇怪的一点 .Range(.Cells(1, 2), .Cells(.Rows.Count, (14 + 1))).Address 返回: $X$1:$AK$6(当我将此工作簿的所有“空白”替换为gRosterPermData时,同样适用。) 因此,在进行测试以实际获取范围后,我必须执行以下操作: .Rang

这是一个奇怪的问题,因为我甚至不知道这是可能的,但希望有一个解决办法。提前谢谢

ThisWorkbook.gRosterPermData.Address
返回: $L$1:$Z$6

这是奇怪的一点

.Range(.Cells(1, 2), .Cells(.Rows.Count, (14 + 1))).Address
返回: $X$1:$AK$6(当我将此工作簿的所有“空白”替换为gRosterPermData时,同样适用。)

因此,在进行测试以实际获取范围后,我必须执行以下操作:

.Range(.Cells(1, -10), .Cells(6, 4)).Address
我很困惑,我使用了带有“L1”的CurrentRegion作为输入


任何帮助或解释将不胜感激,因为这并没有发生在我的任何其他范围。谢谢。

我有点被你的开场白语法给搞糊涂了
这本工作簿.gRosterPermData.Address

但是,如果(的)参考范围为$L$1:$Z$6(命名范围
gRosterPermData
?),则
X1:AK6
是正确的。因为您将参照该范围,而不是工作表

Public Sub GetDimensions()
    
    '$L$1:$Z$6
    With ActiveSheet.Range("gRosterPermData")
                           'row 1        'column 26
        Debug.Print .Range(.Cells(1, 2), .Cells(.Rows.Count, (14 + 1))).Address
        Debug.Print "row = " & .Cells(1, 2).row, " column = " & .Cells(.Rows.Count, (14 + 1)).Column
        Debug.Print "row = " & .Cells(.Rows.Count, (14 + 1)).row
    End With
      
End Sub
带有语句的


正如Ron在评论中提到的,可能是您调用了错误的对象(我在With语句中假设,并打算在没有前导的

的情况下使用),如果我对上下文(点所指内容)的假设是正确的,并且您想要的是正确的,只需删除点(
)从
Range
=>
Range(.Cells(1,2),.Cells(.Rows.Count,(14+1))之前开始.Address
给我们单独的代码行并不能让我们得到简单的答案-关于你实际上在做什么需要很多猜测…谢谢Ron,你是对的。当我将公式拆分为更小的公式时复制代码时,我忘记了更改代码;因此不再需要点。谢谢你的回答。是的,你是对的,是的总是有一个简单的解决方案,不是吗?我没有遇到任何问题,因为我的工作表和自定义范围都从“A1”开始,其他的都是。这应该是第一个危险信号。这个不是。我复制了上一节的代码,并将其拆分为单独的公式,所以忘记删除“.”。感谢您的帮助!