我想编写一个for循环,该循环接受每个单元格的值,将其传递到一个称为的函数中FixID()
,然后将该函数的结果输出到该单元格的值中。下面的代码将值传递给函数fine,但不会将新值写入单元格。
Sub test()
Total_Rows = Cells(Rows.Count, 3).End(xlUp).Row
For Each C In Range("A3", "C" & Total_Rows )
C = FixID(C.Value)
Next
End Sub
更新:这是我整理来测试该技术的一个简短小例子,它按预期工作...
Option Explicit
Sub Test()
Dim MyRange As Range, Cell As Range
Dim Temp As String
Dim Total_Rows As Long
Total_Rows = Cells(Rows.Count, 3).End(xlUp).Row
Set MyRange = Range("A1:C" & Total_Rows)
For Each Cell In MyRange
Cell.Value = AddShrimp(Cell.Value)
Next Cell
End Sub
'Bubba Gump Function
Public Function AddShrimp(InputValue As String) As String
AddShrimp = InputValue & " Shrimp"
End Function
前:
后:
原始响应:确保您定义Range
要迭代的对象,如下所示:
For Each C In Range("A3:C" & Total_Rows)
C.Value = FixID(C.Value)
Next C
我可能也将添加Option Explicit
到例程的顶部,并预先声明所有变量(以防止混淆,与拼写错误有关的错误等):
Option Explicit
Sub Test()
Dim Total_Rows As Long
Dim C As Range, TotalRange As Range
Total_Rows = Cells(Rows.Count, 3).End(xlUp).Row
Set TotalRange = Range("A3:C" & Total_Rows)
For Each C In TotalRange
C.Value = FixID(C.Value)
Next C
End Sub
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句