- 帖子
- 4901
- 主題
- 44
- 精華
- 24
- 積分
- 4916
- 點名
- 85
- 作業系統
- Windows 7
- 軟體版本
- Office 20xx
- 閱讀權限
- 150
- 性別
- 男
- 來自
- 台北
- 註冊時間
- 2010-4-30
- 最後登錄
- 2025-4-9
               
|
8#
發表於 2012-3-16 21:37
| 只看該作者
回復 6# owen9399 - Sub All_Paper() '全部年報
- Dim Sh As Worksheet, A As Range, C As Range, Ay()
- For Each Sh In Sheets(Array("小型股", "大型股"))
- With Sh
- Set A = .[A:A].Find("公司序號", .[A65536], lookat:=xlWhole)
- Do Until Application.CountA(A.Offset(, 1).Resize(, 12)) = 0
- r = A.Row
- r1 = .Range("A:A").Find("合計", A, lookat:=xlWhole).Row
- r2 = .Range("A:A").FindNext(.Cells(r1, 1)).Row
- For Each C In A.Offset(, 1).Resize(, 12).SpecialCells(xlCellTypeConstants)
- k = C.Column
- ReDim Preserve Ay(s)
- Ay(s) = Array(.Cells(r, k).Value, .Cells(r + 1, k).Value, .Cells(r1 + 1, k - 1).Value, .Cells(r1, k).Value, .Cells(r1 + 1, k + 1).Value, .Cells(r2, k).Value, .Cells(r2 + 1, k).Value)
- s = s + 1
- Next
- Set A = .Range("A:A").Find("公司序號", .Cells(r2, 1), lookat:=xlWhole)
- Loop
- End With
- Next
- If s > 0 Then
- With Sheets("全部公司總年報")
- .[A2].Resize(s, 7) = Application.Transpose(Application.Transpose(Ay))
- .Range("A1").CurrentRegion.Sort key1:=.[A1], Header:=xlYes
- End With
- End If
- End Sub
- Sub S_Paper() '小型股年報
- Dim A As Range, C As Range, Ay()
- With Sheets("小型股")
- Set A = .[A:A].Find("公司序號", .[A65536], lookat:=xlWhole)
- Do Until Application.CountA(A.Offset(, 1).Resize(, 12)) = 0
- r = A.Row
- r1 = .Range("A:A").Find("合計", A, lookat:=xlWhole).Row
- r2 = .Range("A:A").FindNext(.Cells(r1, 1)).Row
- For Each C In A.Offset(, 1).Resize(, 12).SpecialCells(xlCellTypeConstants)
- k = C.Column
- ReDim Preserve Ay(s)
- Ay(s) = Array(.Cells(r, k).Text, .Cells(r + 1, k).Value, .Cells(r1 + 1, k - 1).Value, .Cells(r1, k).Value, .Cells(r1 + 1, k + 1).Value, .Cells(r2, k).Value, .Cells(r2 + 1, k).Value)
- s = s + 1
- Next
- Set A = .Range("A:A").Find("公司序號", .Cells(r2, 1), lookat:=xlWhole)
- Loop
- End With
- If s > 0 Then
- With Sheets("小型股年報")
- .[A2].Resize(s, 7) = Application.Transpose(Application.Transpose(Ay))
- .Range("A1").CurrentRegion.Sort key1:=.[A1], Header:=xlYes
- End With
- End If
- End Sub
- Sub U_Paper() '大型股年報
- Dim A As Range, C As Range, Ay()
- With Sheets("大型股")
- Set A = .[A:A].Find("公司序號", .[A65536], lookat:=xlWhole)
- Do Until Application.CountA(A.Offset(, 1).Resize(, 12)) = 0
- r = A.Row
- r1 = .Range("A:A").Find("合計", A, lookat:=xlWhole).Row
- r2 = .Range("A:A").FindNext(.Cells(r1, 1)).Row
- For Each C In A.Offset(, 1).Resize(, 12).SpecialCells(xlCellTypeConstants)
- k = C.Column
- ReDim Preserve Ay(s)
- Ay(s) = Array(.Cells(r, k).Text, .Cells(r + 1, k).Value, .Cells(r1 + 1, k - 1).Value, .Cells(r1, k).Value, .Cells(r1 + 1, k + 1).Value, .Cells(r2, k).Value, .Cells(r2 + 1, k).Value)
- s = s + 1
- Next
- Set A = .Range("A:A").Find("公司序號", .Cells(r2, 1), lookat:=xlWhole)
- Loop
- End With
- If s > 0 Then
- With Sheets("大型股年報")
- .[A2].Resize(s, 7) = Application.Transpose(Application.Transpose(Ay))
- .Range("A1").CurrentRegion.Sort key1:=.[A1], Header:=xlYes
- End With
- End If
- End Sub
複製代碼 |
|