Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/28.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/haskell/9.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 如何在VBA中实现索引和行功能_Excel_Vba - Fatal编程技术网

Excel 如何在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)

我想用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)    

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”)
之后的额外
,以使其正常工作。