excelvba偏移函数
我有一个Excel文件,在A列和B列中包含信息。由于这些列的行数可能不同,我想使用函数offset,这样我就可以将公式作为数组一次性打印出来,而不是在每个单元格的公式上循环(数据集包含近100万个数据点) 我的代码实际上是按照我希望的方式工作的,我只是不知道如何在范围(D1:D5)内打印代码。结果现在以范围(D1:H1)打印。有人知道如何在for语句中使用此偏移量吗excelvba偏移函数,excel,offset,vba,Excel,Offset,Vba,我有一个Excel文件,在A列和B列中包含信息。由于这些列的行数可能不同,我想使用函数offset,这样我就可以将公式作为数组一次性打印出来,而不是在每个单元格的公式上循环(数据集包含近100万个数据点) 我的代码实际上是按照我希望的方式工作的,我只是不知道如何在范围(D1:D5)内打印代码。结果现在以范围(D1:H1)打印。有人知道如何在for语句中使用此偏移量吗 Sub checkOffset() Dim example As Range Dim sht As Worksheet Dim
Sub checkOffset()
Dim example As Range
Dim sht As Worksheet
Dim LastRow As Long
Set sht = ThisWorkbook.Worksheets("Sheet1")
LastRow = sht.Cells(sht.Rows.Count, "A").End(xlUp).Row
Set example = Range("A1:A1")
For i = 1 To LastRow
example.Offset(0, i + 2).Formula = "=SUM(A" & i & ":B" & i & ")"
Next i
End Sub
Sub checkOffset()
Dim example As Range
Dim sht As Worksheet
Dim LastRow As Long
Set sht = ThisWorkbook.Worksheets("Sheet1")
LastRow = sht.Cells(sht.Rows.Count, "A").End(xlUp).Row
Set example = Range("A1:A1")
For i = 1 To LastRow
example.Offset(i - 1, 3).Formula = "=SUM(A" & i & ":B" & i & ")"
Next i
End Sub
offset
的工作方式是行偏移、列偏移。您希望列始终固定在右侧的3处
Sub checkOffset()
Dim example As Range
Dim sht As Worksheet
Dim LastRow As Long
Set sht = ThisWorkbook.Worksheets("Sheet1")
LastRow = sht.Cells(sht.Rows.Count, "A").End(xlUp).Row
Set example = Range("A1:A1")
For i = 1 To LastRow
example.Offset(i - 1, 3).Formula = "=SUM(A" & i & ":B" & i & ")"
Next i
End Sub
offset
的工作方式是行偏移、列偏移。您希望列始终固定在右侧的3。使用偏移量(行,列)
,您希望以行的增量(i-1
)偏移,并向右偏移3列(从列“A”到列“D”)
请尝试下面修改的代码:
Set example = Range("A1")
For i = 1 To LastRow
example.Offset(i - 1, 3).Formula = "=SUM(A" & i & ":B" & i & ")"
Next i
使用偏移量(行、列)
,您希望以行的增量(i-1
)和右侧的3列(从列“A”到列“D”)进行偏移
请尝试下面修改的代码:
Set example = Range("A1")
For i = 1 To LastRow
example.Offset(i - 1, 3).Formula = "=SUM(A" & i & ":B" & i & ")"
Next i
一步不循环地将公式输出到整个范围的一种方法是使用R1C1表示法: 编辑:修改代码以正确限定工作表引用
一步不循环地将公式输出到整个范围的一种方法是使用R1C1表示法: 编辑:修改代码以正确限定工作表引用
是的,我理解,但由于它最终将用于我正在构建的一个更大的工具中,我希望所有内容都由vba计算。是的,我理解,但由于它最终将用于我正在构建的一个更大的工具中,我希望所有内容都由vba计算。