2015-05-25 47 views
0

从另一篇文章,combine rows with duplicates我收到的答案,但有问题的解析评定线。Excel VBA中的语法评估(“分钟(指数(行

mr = Application.Evaluate("MIN(INDEX(ROW(1:" & rw & ")+(('" & wsn & "'!B1:B" & rw & "<>'" & wsn & "'!B" & rw & ")+('" & wsn & "'!C1:C" & rw & "<>'" & wsn & "'!C" & rw & "))*1E+99, ,))") 
  1. 我最初粘在部分

    INDEX(ROW(1:" & rw & ")

我知道,行功能提供上述我行数量,但语法s什么范围1:rw或??

  1. +加号是逻辑OR语句吗?

如果有人能提供MIN(INDEX(ROW(只带了几个参数和说明一个简单的例子...这将是非常有益的。

+0

我觉得你有**双引号的问题**。请使用您在工作表单元格中实际看到的公式更新您的帖子。 –

回答

1

如有任何疑问,在立即调试公式窗口,下面是一个例子

Sub Sample() 
    Dim sFormula As String 
    Dim rw As Long 
    Dim wsn As String 

    rw = 1  '<~~ Giving them some fictitious values. Give actual value if you have one 
    wsn = "Sid" '<~~ Giving them some fictitious values. Give actual value if you have one 

    sFormula = "MIN(INDEX(ROW(1:" & _ 
       rw & _ 
       ")+(('" & _ 
       wsn & _ 
       "'!B1:B" & _ 
       rw & _ 
       "<>'" & _ 
       wsn & _ 
       "'!B" & _ 
       rw & _ 
       ")+('" & _ 
       wsn & _ 
       "'!C1:C" & _ 
       rw & _ 
       "<>'" & _ 
       wsn & _ 
       "'!C" & _ 
       rw & _ 
       "))*1E+99, ,))" 

    Debug.Print sFormula 

    'mr = Application.Evaluate(sFormula) 
End Sub 

enter image description here

的公式应该是清楚的,你呢:)

您甚至可以将该公式复制到新工作表中进行测试。

enter image description here

+0

谢谢Sid!现在我可以缩短公式和学习。 – equalizer