返回列表 上一主題 發帖

加權指數歷史資料之排序問題

回復 1# cudui
  1. Sub yy()
  2. c = Array(1, 2, 3, 4, 5, 11, 14)
  3. With Sheets("加權歷史行情原始檔")
  4.   .[A9:E9].Copy Sheets("加權歷史行情-排序後").[A1]
  5.   .[K9].Copy Sheets("加權歷史行情-排序後").[F1]
  6.   .[N9].Copy Sheets("加權歷史行情-排序後").[G1]
  7.   n = .[a65536].End(xlUp).Row
  8.   a = .Range(.Cells(1, 1), .Cells(n, 14))
  9.   ReDim arr(1 To UBound(a), 1 To 7)
  10.   x = 1
  11.   For j = 1 To UBound(a)
  12.     For i = 1 To 7
  13.       If Mid(.Cells(j, 1), 4, 1) <> "/" Then
  14.         GoTo 123
  15.       Else: arr(x, i) = a(j, c(i - 1))
  16.       End If
  17.     Next i
  18.     x = x + 1
  19. 123
  20.   Next j
  21. End With
  22. With Sheets("加權歷史行情-排序後")
  23.   .Range([A2], [G2].End(xlDown)) = ""
  24.   .[A2].Resize(j - 1, 7) = arr
  25.   .[A1].Sort Key1:=.[A1], Order1:=xlAscending, Header:=xlGuess
  26.   .Range([B2], [G2].End(xlDown)).NumberFormatLocal = "#,##0.00"
  27. End With
  28. End Sub
複製代碼

TOP

回復 7# cudui

是我漏打了4個.
  1. With Sheets("加權歷史行情-排序後")
  2.   .Range(.[A2], .[G2].End(xlDown)) = ""
  3.   .[A2].Resize(j - 1, 7) = arr
  4.   .[A1].Sort Key1:=.[A1], Order1:=xlAscending, Header:=xlGuess
  5.   .Range(.[B2], .[G2].End(xlDown)).NumberFormatLocal = "#,##0.00"
  6. End With
複製代碼
在任何工作表下執行都可以

TOP

回復 11# cudui

With Sheets("加權")
  .[A2] = ""                  ==> 加權工作表        之 A2儲存格 =""
  [A2]=""                     ==> 目前作用之工作表  之 A2儲存格 =""
                                          (未述明何工作表 則是  目前作用之工作表)
END WITH

TOP

        靜思自在 : 【時日莫空過】一個人在世間做了多少事,就等於壽命有多長。因此必須與時間競爭,切莫使時日空過。
返回列表 上一主題