- 帖子
- 5923
- 主題
- 13
- 精華
- 1
- 積分
- 5986
- 點名
- 0
- 作業系統
- win10
- 軟體版本
- Office 2010
- 閱讀權限
- 150
- 性別
- 男
- 來自
- 台灣基隆
- 註冊時間
- 2010-5-1
- 最後登錄
- 2022-1-23
        
|
2#
發表於 2013-7-24 12:46
| 只看該作者
回復 1# eg0802
試試看- Option Explicit
- Sub EX()
- Dim Sh As Worksheet, Ar(), i As Integer, ii As Integer, A(3)
- ReDim Preserve Ar(i)
- Ar(i) = Array("品項", "TOTAL MATERIALS COST", "TOTAL TRIM COST", "CMP") '要整理的項目
- For Each Sh In ThisWorkbook.Sheets '物件: 這活頁簿中工作表的集合
- If Sh.Name <> "總表" Then
- With Sh
- A(0) = Sh.Name '指定元素的值
- For ii = 1 To 3
- 'A(ii) = .Cells.Find(Ar(0)(ii), LookAt:=xlWhole).Row
- '*** 正常要 xlWhole(字串完全相等) -> 才會找到正確的儲存格 ****
- '****這裡代入xlParte(部分字串相等) ,因工作中的"CMP" 為 " CMP " ****
- A(ii) = .Cells.Find(Ar(0)(ii), LookAt:=xlPart).Row '找到字串的列號
- A(ii) = .Range("G" & A(ii)) '指定元素的值: G欗&字串的列號
- Next
- i = i + 1
- ReDim Preserve Ar(i) '重新配置陣列元素的維數(Preserve 保留舊有的元素)
- Ar(i) = A
- End With
- End If
- Next
- With Sheets("總表")
- .Activate
- .Cells.Clear
- .[A1].Resize(i + 1, UBound(A) + 1) = Application.Transpose(Application.Transpose(Ar))
- End With
- End Sub
複製代碼 |
|