Excel 如何在VBA中实现索引和行功能
我想用VBA编写以下内容:Excel 如何在VBA中实现索引和行功能,excel,vba,Excel,Vba,我想用VBA编写以下内容: =INDEX(Sheet1!B$4:B$15;(ROW(A1)-1)/730+1) 我正在努力: With Application.WorksheetFunction ActiveWorkbook.Worksheets("Some_Sheet").Range("H6") = .Index(ActiveWorkbook.Worksheets("Sheet1").Range("B4:B15")), (Range("A1").Row - 1) / 730 + 1)
=INDEX(Sheet1!B$4:B$15;(ROW(A1)-1)/730+1)
我正在努力:
With Application.WorksheetFunction
ActiveWorkbook.Worksheets("Some_Sheet").Range("H6") = .Index(ActiveWorkbook.Worksheets("Sheet1").Range("B4:B15")), (Range("A1").Row - 1) / 730 + 1)
End With
Try
ActiveCell.Formula=WorksheetFunction.Index(范围(“B$4:B$15”),(范围(“A1”).Row-1)/730+1)
对A1的引用应该是相对于目标单元格的,所以是否希望为第1-730行、第731-1460行等返回相同的值
如果是这样的话,那么类似于:
Function foo(ByRef c As Range)
With c
.Value = Worksheets("Sheet1").Range("B4").Offset(Int(.Row / 730), 0).Value
End With
End Function
用法如下:
Sub test()
foo Worksheets("Some_Sheet").Range("H1463")
End Sub
请参阅,您可以参考相对
范围
或单元格
,以检索值。或者看看你是在寻找类似于ActiveCell.Formula=WorksheetFunction.Index(范围(“B$4:B$15”),(范围(“A1”).Row-1)/730+1的东西吗?
?是的,这就是我想做的这个工作簿。工作表(“Sheet1”)。范围(“B4”)
<代码>行(A1)-1将始终返回0<代码>0/730+1=1因此索引(范围(“B4:B15”),1
将始终为B4。编辑:拖动730行后,它将开始查看B5。@DinoC,你想实现什么?@DinoC,你可以在中使用它,以…结束。但是在上面的编辑中,您需要删除.Range(“B4:B15”)
之后的额外)
,以使其正常工作。