首页 > 解决方案 > vba - 在循环中调用函数

问题描述

我需要在循环中调用自制函数(GetCoordinates)并在每个循环步骤中应用它。

我有一列包含数据(从 L2 开始),我需要将我的个人函数 GetCoordinates 应用于该数据并将结果写入它旁边的列(所以从 M2 开始)

NumRows = Range("L2", Range("L2").End(xlDown)).Rows.Count
      Range("L2").Select
      For x = 1 To NumRows
         Selection.Offset(, 1).Formula = "=GetCoordinates(L&x)"
         ActiveCell.Offset(1, 0).Select
      Next

我的问题是我不知道如何将我的功能应用于每个单元格。应该如何编写以便为循环中的每个单元格调用该函数?(GetCoordinates 函数工作正常)

标签: excelvbafunctionloops

解决方案


尝试在没有循环的情况下输入所有公式。要在 M 列中编写公式并将 L 列用作公式参数,然后使用,

 Range(cells(2, "M"), cells(rows.count, "L").End(xlup).offset(0, 1)).Formula = _
     "=GetCoordinates(L2)"

你自己的可能更接近,

Selection.Offset(, 1).Formula = "=GetCoordinates(L" & x & ")"

但是你不匹配 Do ... While 和 For ... Next 循环。


推荐阅读