2015-05-25 88 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