聯盟

2013-08-05 195 views
0

列表示我想從兩個數據透視表創建值的融合中,我有兩個範圍: enter image description here聯盟

所以基本上我想結束了對我來說是在單元格J5中有來自兩個數據透視表(兩組聯合)的所有唯一工作類型的列表。

現在我已經創建了兩個範圍,其中包含所有工作類型(每個數據透視表中的一個),現在我想以單元格J5中兩個範圍的所有唯一值的組合列表結束。

有什麼建議嗎?

編輯,

我創建我已經創建了兩個範圍的聯盟:

Set rUnion = Application.Union(rLeftPivot, rRightPivot) 

,但是當我嘗試運行:

rUnion.AdvancedFilter Action:=xlFilterCopy, _ 
    CopyToRange:=Range("J5"), Unique:=True 

我得到1004錯誤:「數據庫或表範圍無效」,有什麼建議?

+0

我不知道如果我明白你想要什麼正確的:與其做selection.Copy(其中,顯然,被粘貼到A1:A10和B1:B10) ,你想把選擇作爲一個範圍處理? – varocarbas

+0

單元格J5中的內容是什麼?驗證列表或所有項目的範圍的開始? –

+0

@verocarbas我已經添加了第二位代碼作爲我可以做的一個例子,只是爲了讓它工作,所以我添加了這些範圍:A1:A10和B1:B10可以忽略,因爲在現實生活中他們會替換爲對我創建的範圍的引用。 –

回答

1

我認爲有很多可能性來做到這一點。一個可能的答案可能是由於如下:

Dim Rng1 As Range 
Dim Rng2 As Range 

Set Rng1 = Range("A1:a10") 
Set Rng2 = Range("B1:B10") 

With Range("J5") 
    .Resize(Rng1.Rows.Count, 1) = Rng1.Value 
    .Offset(Rng1.Rows.Count, 0).Resize(Rng2.Rows.Count, 1) = Rng2.Value 

    'remove duplicates 
    Range("J5", .End(xlDown)).RemoveDuplicates 1, xlNo 
End With 
+0

@KezJaw這工作,謝謝。你是否會如此善意地爲我提供一些解釋,說明它是如何工作的,最後調整大小和偏移以及xlNo的作用是什麼? –

+1

'調整大小'將範圍大小更改爲新的大小。 '偏移量'將範圍移動到新的位置。 '.End(xlDown)' - 這是一個代碼,它將範圍移動到新位置,方法是使用excel應用程序中的「Ctrl +陣列」。所有都是'範圍修改器',可以用於任何(但邏輯)組合。 –