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”开始,其他的都是。这应该是第一个危险信号。这个不是。我复制了上一节的代码,并将其拆分为单独的公式,所以忘记删除“.”。感谢您的帮助!