返回列表 上一主題 發帖

請教Excel函數設定(vlook、if)的問題,並且將檔案變更為指定格式

由於資料量很大,需要設定函數讓電腦自己去處理,且無法設巨集(資料量大,跑太慢)

大量資料,用vba是最好方法,不過無法隨時更新,而用按鈕處理,但不理解為何〔無法設巨集〕?
若用公式,除了用〔輔助欄〕可以稍微優化速度,直接陣列公式會卡是無法避免的!

TOP

Sub TEST()
Dim Arr, Brr, T$, N&, xD, Dr, X%, i&
Arr = Range([A1], Cells(Rows.Count, 2).End(xlUp))
ReDim Brr(1 To UBound(Arr), 1 To 200)
Set xD = CreateObject("Scripting.Dictionary")
For i = 2 To UBound(Arr)
  If Arr(i, 1) = "" Or Arr(i, 2) = "" Then GoTo 101
  T = Arr(i, 1): Dr = xD(T)
  If Not IsArray(Dr) Then N = N + 1: Dr = Array(N, 0): Brr(N, 1) = T
  Dr(1) = Dr(1) + 1: If Dr(1) > X Then X = Dr(1)
  Brr(Dr(0), Dr(1) + 1) = Arr(i, 2):  xD(T) = Dr
101: Next i
 
With [工作表1!A1].Resize(N + 1, X + 1)
  .Parent.UsedRange.Clear
  .Cells(2, 1).Resize(N, X + 1) = Brr
  .Item(1) = Arr(1, 1)
  .Item(2).Resize(1, X) = "=""" & Arr(1, 2) & "-""&COLUMN(a1)"
  .Borders.LineStyle = 1
  Application.Goto .Item(1)
End With
End Sub
 
寫得囉嗦些,用看看:
Xl0000127.rar (19.48 KB)
 

TOP

        靜思自在 : 【是否發揮了良能?】人間壽命因為短暫,才更顯得珍貴。難得來一趟人間,應問是否為人間發揮了自己的良能,而不要一味求長壽。
返回列表 上一主題