VBA-使用按钮对列中的每个单元格调用函数

VBA-使用按钮对列中的每个单元格调用函数,vba,excel,excel-formula,Vba,Excel,Excel Formula,点击一个按钮,我想对一列中的每个单元格应用一个函数,并在另一列中纯粹输出结果。任何建议都将不胜感激 战略: 循环遍历A的整个列,从A1开始,直到找到一个空行。这将是第一个循环,其中将有一个计数器告诉我列中有多少数据 第二个循环将预先创建的函数应用于每个数据段,并将其输出到不同的列 我上个星期才开始学习VBA,我不完全确定我会怎么做。我希望这至少能让你开始学习。更多的信息和更好的问题会让我给你一个更好的答案 Sub Button1_Click() Dim LastRow As Long If R

点击一个按钮,我想对一列中的每个单元格应用一个函数,并在另一列中纯粹输出结果。任何建议都将不胜感激

战略:

循环遍历A的整个列,从A1开始,直到找到一个空行。这将是第一个循环,其中将有一个计数器告诉我列中有多少数据

第二个循环将预先创建的函数应用于每个数据段,并将其输出到不同的列


我上个星期才开始学习VBA,我不完全确定我会怎么做。

我希望这至少能让你开始学习。更多的信息和更好的问题会让我给你一个更好的答案

Sub Button1_Click()
Dim LastRow As Long

If Range("A1") <> vbNullString And Range("A2") <> vbNullString Then
    LastRow = Range("A1").End(xlDown).Row ' how many rows have data within the column
End If

With Range("B1:B" & LastRow) 'Last row in A so you know how many rows to use
    .FormulaR1C1 = "=yahooPage(RC[-1])"
    .Value = .Value 'Removes the formula and leaves only the values.
End With

End Sub

你试过什么?有密码吗?什么是预先创建的函数。应用该函数时,您是希望保留A列中的原始数据,还是希望就地应用该函数?该函数解析来自yahoo finance的数据,并将特定数据输出到单元格中=yahooParseA2=yahooParseA3,等等,但是我想要一个按钮,它调用所有这些函数,并将输出抛出到我定义的相应列中。是的,我想要保留原始列中的数据。这似乎是可行的。我如何将变化的单元格添加到函数中。YourFunctionHereRange???。选择应为RC[-1]@user2140261@user2578013答案已更新。使用R1C1引用时,指定要从当前单元格中重新引用的行数和列数。应避免在VBA 1中选择任何单元格,否则会减慢代码的速度。2它通常是运行时错误的主要原因。o在这个例子中,我使用-1,因为B前面的一行是A,如果公式在C中,我们将使用-2。D=-3等等。@AndyG Opps,我想这是因为没有使用编辑器来编写代码,谢谢你指出了这一点_“全局失败”它不喜欢行:带范围。。。有什么想法吗?