需要兩件事情的幫助。VBA - 僅在行x中的單元格標題相等時返回ducplicate-txt,否則返回行y對應於輸入值的返回日期
圖片Excel表單的:
數1:
另一個代碼將粘貼的和「由於金額」的最高值從7行「由於沒有支付」成B1和B2。因此,我需要兩個代碼分別用於'應付金額'和'應付未付款',它檢查第6行中是否存在來自B1和B2的值的任何重複。如果存在,則文本'多個日期與F1和F2應顯示「相同的量」。如果沒有,那麼第4行的相應日期應顯示在F1和F2中。
但有一些與第5行中的值有關的例外情況。這兩個代碼的工作方式應該完全相同,但使用「應付金額」或「到期未付款」作爲基礎。爲了簡化方案中,進出口使用關於「由於金額」的代碼作爲示例:
- 如果輸入值(B1)顯示在行不止一次7 和至少兩個出現值都位於如果輸入值(B1)在第7行中出現多次(012),那麼輸出(F1)應該是'具有相同數量的若干日期'
- 如果輸入值(B1)在第7行出現多於一次和的出現值位於第5行中的相同值(「Amound due」)下,則輸出(F1)應該是來自第4行的相應日期值。
實施例相關的圖象I鏈接:
- 最高「金額due'值是10(第7行),並且由於該值位於A7和C7,其中兩個是一個」金額到期'欄,那麼F1中的輸出應該是'與SAM量相關的幾個日期'。
- 最高的'到期未支付'值是5(在第7行),並且由於該值位於E7和F7,它們是'到期未付'列和'到期未付款'列,則輸出爲F2應該是4行中的相應日期 - 在這種情況下是16年12月30日(這也導致我的下一個問題......)
數2:
正如你所看到的,每個「到期金額」和「到期未付款」列中的一對與一個日期相關聯(即「到期未付」列始終屬於其左側的日期)。在上述第二種情況下,是否有可能「應付未付」代碼提取了位於「應付金額」列之上的位於其左側的日期。因此,在圖中,F2中的產量應爲30.12.16,因爲代碼在第7行中的'到期未付款'中找到最高價值,這在F列中 - 並且由於庫倫E中的重複是'應付金額',所以輸出應該是一個日期。
我當前的代碼:
Sub test()
Dim Range1 As Range
Set Range1 = ActiveSheet.Range("A6:F6")
For Each cell In Range1
If WorksheetFunction.CountIf(Range1, Range("B1").Value) > 1 Then
ActiveSheet.Range("F1").Value = "Several dates with the same amount"
Else
ActiveSheet.Range("F1").FormulaArray = "=INDEX(A3:F3,MATCH(B1,A6:F6,0))"
End If
Next
End Sub
希望這是可以理解的。
傑夫
嗨羅恩!謝謝你的回答。我已經測試了一下,並且據我所見,這就像一個冠軍!我將在今天和明天的真實測試案例場景中進行一些進一步測試,並讓您知道結果。但是這看起來不錯(當我試圖自己解決它時,我可能已經複雜了)。謝謝 - 非常感謝! – Jeff