2011-11-12 62 views
1

我有一個使用多個工作表彙總付款和多個屬性的付款時間表的Excel文件。Excel - 在多個工作表中使用文本

它的設置使第一張紙是一切的總結,隨後的紙張詳述了不同的屬性。我有一個專欄(只是爲了說明),我想將文本帶回第一個工作表,以及後續工作表中是否有多個條目讓我知道。

我知道excel不喜歡跨多個工作表使用文本,所以下面的代碼運行良好,爲我帶來了一個單一的條目。它將始終位於後續工作表的同一單元格中。

=IF(COUNTA(Sheet1:Sheet5!D15)=0,"", IF(COUNTA(Sheet1:Sheet5!D15)=1, (Sheet1!D15&Sheet2!D15&Sheet3!D15&Sheet4!D15&Sheet5!D15), "--> Multiple Entries")) 

但是,我遇到了一種情況,我確實需要在後續工作表中放入兩個相同的條目。

對於使用|作爲表單中斷

「」| 「付費#1」| 「」 「」

「付費#1」| 「付費#1」| 「」 「」

「」| 「付費#2」| 「付費#1」| 「」

案例#2是一個奇數,其中其確定有多個相同的條目,但#3,他們是不同的需要加以強調,因爲我有現在( - >多個條目)就足夠了。現在這兩種情況都會突出顯示。

我不知道從哪裏開始真的,我無法找到一個3D基準(東西沿着匹配的行)來處理文本,有什麼建議?

一如既往,在此先感謝,我真的很感謝所有的幫助。

回答

0

一種方法是編寫一個返回所需字符串的UDF。不幸的是,UDF參數不支持3D範圍,所以需要解決。

根據您的問題,它apears要考慮所有紙張同一小區除了彙總表。在此基礎上,此UDF將返回所有工作表中相同單元格的連接,但公式所在工作表除外。您可以根據需要調整它以返回其他內容。

注意,我一直保持它的簡單演示的方法,您將需要處理錯誤情況,如R指的> 1個單元格,或者另一個工作表/工作簿中的單元格。

Function MergeSheets(r As Range) As Variant 
    Dim a As String, s As String 
    Dim sh As Worksheet 
    Application.Volatile 

    a = r.Address 
    For Each sh In r.Worksheet.Parent.Worksheets 
     If sh.Name <> r.Worksheet.Name Then 
      s = s & sh.Range(a).Value 
     End If 
    Next 
    MergeSheets = s 
End Function 
相關問題