- 帖子
- 2842
- 主題
- 10
- 精華
- 0
- 積分
- 2898
- 點名
- 0
- 作業系統
- 〔略〕
- 軟體版本
- 〔略〕
- 閱讀權限
- 100
- 性別
- 男
- 來自
- 〔略〕
- 註冊時間
- 2013-5-13
- 最後登錄
- 2025-4-28
|
6#
發表於 2015-12-23 14:33
| 只看該作者
使用〔區段〕處理,C欄〔從小到大〕為一個區段:
Sub 執行()
Dim G&, TM, i&, j%, R&
TM = Time
Sheets("工作表1").Select
R = Cells(Rows.Count, 1).End(xlUp).Row
With Range("C2:C" & R): .Formula = "=MATCH(A2,首頁!A$1:A$3000,)": .Value = .Value: End With
Application.ScreenUpdating = False
Dim xU(1 To 4) As Range, xR(1 To 4) As Range, X&, N&
X = 1: N = 2
RE_GET:
For i = X + 1 To R
G = Cells(i, "C")
Set xR(1) = [首頁!F1:P1].Offset(G - 1, 0)
Set xR(2) = [基本面!G1:I1].Offset(G - 1, 0)
Set xR(3) = [基本面!D1:E1].Offset(G - 1, 0)
Set xR(4) = [基本面!E1:F1].Offset(G - 1, 0)
For j = 1 To 4
If xU(j) Is Nothing Then Set xU(j) = xR(j) Else Set xU(j) = Union(xU(j), xR(j))
Next j
If G >= Cells(i + 1, "C") Then X = i: Exit For
Next
For j = 1 To 4
xU(j).Copy Range(Array("D1", "O1", "R1", "T1")(j - 1)).Cells(N, 1)
Set xU(j) = Nothing: Set xR(j) = Nothing
Next j
N = X + 1
If X < R Then GoTo RE_GET
MsgBox "完成時間" & Format(Time - TM, "hh:mm:ss")
End Sub
附檔下載:
Xl0000231.rar (231.44 KB)
|
|