我有一個很大的excel文件,包含來自股市不同人的所有交易。該文件有多張表示不同月份的工作表。然而,爲了計算他們的回報(還有其他原因),我需要將他們的投資組合ID排列在彼此之下(一個Portolio ID號代表一個人)。由於這些投資組合ID在每張工作表中都需要使用宏以某種方式將所有這些投資組合ID從相互之下的所有不同工作表(月份)中複製。將投資組合ID複製到有序列表
這是我到現在爲止:
Sub apply_autofilter_across_worksheets()
Dim p As Integer, q As Integer
p = Worksheets.Count
For q = 1 To p
With Worksheets(q)
.Range("A1").AutoFilter field:=1, Criteria1:="6*"
End With
Next q
End Sub
投資組合的ID(人)的範圍從'695678至7128631.
的Criteria1:="6*"
我想我可以用兩個宏都開始數6*
和所有與數字7*
。
Sub Macro13()
'
' Macro13 Macro
'
'
Columns("B:B").Select
Selection.AutoFilter
ActiveSheet.Range("$B$1:$B$271806").AutoFilter Field:=1, Criteria1:= _
"697139"
Sheets("13 feb - 5 Mar ").Select
Columns("B:B").Select
Selection.AutoFilter
ActiveSheet.Range("$B$1:$B$259216").AutoFilter Field:=1, Criteria1:= _
"697139"
Sheets("5 - 15 Mar ").Select
Columns("B:B").Select
Selection.AutoFilter
ActiveSheet.Range("$B$1:$B$210584").AutoFilter Field:=1, Criteria1:= _
"697139"
Sheets("15 Mar - 12 Apr").Select
Columns("B:B").Select
Selection.AutoFilter
ActiveSheet.Range("$B$1:$B$240768").AutoFilter Field:=1, Criteria1:= _
"697139"
Sheets("Blad5").Select
Columns("B:B").Select
Selection.AutoFilter
ActiveSheet.Range("$B$1:$B$317496").AutoFilter Field:=1, Criteria1:= _
"697139"
Sheets("4-13 feb").Select
Range("A181:N184").Select
End Sub
該宏適用於一個Portfolio ID。但是,我仍然必須將其從每張表格複製到一張新表格,併爲每個組合ID運行它。 (我有超過十萬的投資組合的ID)
請幫助:)
爲了澄清,你基本上需要從所有其他工作表中複製到一張新工作表的「Portfolio ID」,同時讓他們***根據他們來自哪個月排序***,是嗎? – Manhattan
實際上,我想根據投資組合ID對其進行排序,而不是根據他們來自哪個月來對其進行排序。但請記住,有太多的ID以至於很大,甚至無法放在一張紙上。 (1299866 rows) – Wolfschmitt
因此,所有這些「Portfolio ID」應該被複制到一個新的表中,從6 *到7 *排序,幾乎這個?有重複嗎? – Manhattan