我有一个简单的vba函数,我想将其转换为相对的函数。我有3个变量,我通过if比较然后做一个while循环,然后将结果输出到一个单元格。但是我想对列中的每个单元格进行处理(比较列中的所有单元格,执行while循环,然后在另一列中的每个单元格中输出结果) 但我无法做到这一点。我搜索过谷歌,但它只显示如何将excel公式从绝对转换为相对而不是vba函数。有人能帮我吗? 这是我的简单代码:
Public Sub code()
'eshte nr i zerove te hequra me nje 1 perpara ne rastin tone 1000
'value = 1000
Dim z As Long
z = Range("AS3").Value
'x eshte j3 - zerot nga mbrapa ne rastin tone 5
'value=5
Dim x As Long
x = Range("AN3").Value
'y eshte karakteri i fundit nga codi i gjeneruar eshte 4
'value=4
Dim y As Long
y = Range("AQ3").Value
'nese 5 eshte e ndryshme nga 1
If x <> 1 Then
'ateher
'nderkohe qe y(4) eshte i ndryshem nga x-1(4)
If y = x - 1 Then
Range("AT3").Value = 120
Else
While y <> (x - 1)
'codi behet 0/1000
Range("AT3").Value = Range("H3").Value / z
'code = seri / z
'dhe me pas i shtojme nje 1
y = y + 1
Wend
End If
Else
'Range("AU3").Value = Range("K3").Value
End If
End Sub
提前感谢您,祝您有个美好的一天!
答案 0 :(得分:1)
因为看起来你最终想要更改多个单元格(根据你最后注释掉的行),我不认为用户定义的功能符合你的需要。
我会添加一个变量
dim rowNum as long
然后你可以将它用于像这样的多行
rowNum=3
y = Range("AQ" & rowNum).Value
否则你可以使用偏移函数
范围(&#34; A3&#34;)。偏移量(1,0).value&#39;这个偏移量由一列产生,因此从细胞中获取值&#34; B3&#34;