大家好我是VBA的新手,我正在尝试运行以下代码,但遇到了困难。
当我运行代码时,什么也没有发生。我没有输出。
我有三列:FT
,cost
和weight
。
我想要做的是在列IF
中运行Ft
语句以获得ST
,然后将cost
和{{1}中的数字相乘}列,对应于weight
。
例如:7 * 10以下,然后返回列st
中的数据。
我已经将O
语句返回的数据保存在数组中,然后尝试将它们复制到列IF
中,但是它不起作用。但是,当我从Excel单元格运行该函数时,它没有任何问题。
非常感谢您的帮助。
FT
ST
电子商务
费用
7
5
体重
10
8
O
答案 0 :(得分:0)
要从函数中返回数据,您需要执行以下操作:
Private Function ecco (ByRef ft as Range) as Long
'Insert your logic
ecco = whatValueAreYouReturning
End Function
如果要将单元格的值设置为某些值,则可以在main2中执行此操作:
wb.Range("O2").offset(myRowOffset,0).value = ecco(myInput)
' I reccomend changing ecco() to a function with no loop, and put the loop in main2()
解决方案的想法:
代码上的一些指针:
如果要设置单元格的值(例如,在O列中),可以执行以下操作:
ws.Range("O2").Offset(myOffset, 0).value = myValue
ws.Range("O2").Offset(myOffset, 0).Formula= myFormula
我会修复sub和function,但实际上我不知道您要使用它的什么地方,所以我会把它留给您:)