簡體   English   中英

vba-循環調用函數

[英]vba - Call a function in a loop

我需要在循環中調用一個自制函數(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函數可以正常工作)

嘗試不加循環地放入所有公式。 要在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循環。

嘗試這個

 NumRows = Range("L" & Rows.Count).End(xlUp).Row

  For x = 2 To NumRows
     Cells(x, "M").Value = GetCoordinates(Cells(x, "L"))
  Next

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM