我有一个公式来获得与给定值最接近的值,即
=SMALL(R1C1:R1C144,COUNTIF(R1C1:R1C144,""<"" &8)+1 )
将给出最接近8的值。
我想使用变量而不是直接数字“(8)”
请帮帮我。这是我目前的代码
Private Sub CommandButton1_Click()
Dim col As Integer
col = Me.TextBox1.Value
ActiveCell.FormulaR1C1 = "=SMALL($A$1:$EN$1,COUNTIF($A$1:$EN$1," < "&col)+1)"
End Sub
答案 0 :(得分:0)
如果你想在excel中与VBA分开,那么你真的不需要变量。你应该把你想要的任何值放在一个单独的单元格中(在这个例子中是单元格A5),然后像你这样在公式中引用那个单元格:
=SMALL(R1C1:R1C144,COUNTIF(R1C1:R1C144,""<"" & A5)+1 )
我不相信您需要VBA解决方案,因为到目前为止您的算法都是Excel语法。但是,如果您确实想在VBA中执行此操作,则需要在VBA语法中找到算法并声明如下变量:
Dim myNumber As Integer
myNumber = 5 'put whatever number you want here
答案 1 :(得分:0)
Private Sub CommandButton1_Click()
Dim col As Integer
col = Me.TextBox1.Value
'EDIT: .FormulaR1C1 should be .Formula
ActiveCell.Formula = "=SMALL($A$1:$EN$1,COUNTIF($A$1:$EN$1,""<" & col & """)+1)"
End Sub