Excel 循环复制公式

Excel 循环复制公式,excel,vba,loops,Excel,Vba,Loops,我有一个公式,它根据另一个系统查找A列中的值。我有一个复制/粘贴宏,可以正常工作,但是我必须更改值才能工作 CopyPaste Macro ' Dim I For i = 1 To 15 ActiveCell.FormulaR1C1 = "=MMSIDLookupItemCount(RC[-1])" ActiveCell.Offset(1).Select Next i 这将公式放在B列。我真正想做的是循环,直到a列中有一个空白单元格,我尝

我有一个公式,它根据另一个系统查找A列中的值。我有一个复制/粘贴宏,可以正常工作,但是我必须更改值才能工作

CopyPaste Macro
'   Dim I
    For i = 1 To 15
    ActiveCell.FormulaR1C1 = "=MMSIDLookupItemCount(RC[-1])"
    ActiveCell.Offset(1).Select
    Next i
这将公式放在B列。我真正想做的是循环,直到a列中有一个空白单元格,我尝试了许多不同的方法,但我无法让它工作

CopyPaste Macro
'   Dim I
    For i = 1 To 15
    ActiveCell.FormulaR1C1 = "=MMSIDLookupItemCount(RC[-1])"
    ActiveCell.Offset(1).Select
    Next i

有人能帮忙吗?我真的在努力学习VBA,但我的技能非常基础

试试这个。首先,它获取当前单元格左侧列的列字母(因此,如果选择单元格B1,则列字母将为A)。然后找到该列中的最后一行。最后,它将其用作for循环中的限制

Dim ColumnLetter As String
ColumnLetter = Split(Cells(1, ActiveCell.Column - 1).Address, "$")(1)

Dim LastRow As Long
LastRow = ActiveSheet.Range(ColumnLetter & ActiveSheet.Rows.Count).End(xlUp).Row

For i = 1 To LastRow
ActiveCell.FormulaR1C1 = "=MMSIDLookupItemCount(RC[-1])"
ActiveCell.Offset(1).Select
Next i

请参阅:查找最后一行的值。这非常有效。非常感谢