- 帖子
- 5923
- 主題
- 13
- 精華
- 1
- 積分
- 5986
- 點名
- 0
- 作業系統
- win10
- 軟體版本
- Office 2010
- 閱讀權限
- 150
- 性別
- 男
- 來自
- 台灣基隆
- 註冊時間
- 2010-5-1
- 最後登錄
- 2022-1-23
        
|
14#
發表於 2012-12-28 07:57
| 只看該作者
本帖最後由 GBKEE 於 2012-12-28 07:59 編輯
回復 14# alltest
EX 放在 book1 會出現錯誤訊息 book2 會出現錯誤訊息
如圖 : book2 工作表名稱錯誤
EX1 放在 book1 可以執行,但出現的結果怪怪的說~
如圖 book1 請新增一工作表 命名為 : "表頭"
修改 Sub Ex1() 如下- Sub Ex1() '新增活頁簿
- Dim E As Variant, r As Integer, xi As Integer, xC As Integer
- Dim Rng(1 To 2), Wb As Workbook
- Set Wb = Workbooks.Add(1) '新增活頁簿
- With Workbooks("book1.xls").Sheets("異常明細")
- .AutoFilterMode = False
- xC = .Cells(1, .Columns.Count).End(xlToLeft).Column
- For Each E In Array("黃色", "紅色", "青色")
- .Range("A2", .UsedRange.SpecialCells(xlCellTypeLastCell).Address).AutoFilter Field:=2, Criteria1:=E
- xi = .Cells(Rows.Count, 2).End(xlUp).Row
- For r = 5 To xC Step 3
- Set Rng(1) = .Range("b3:d" & xi)
- Set Rng(2) = .Range(.Cells(3, r).Resize(, IIf(r < xC - 1, 3, 2)).Address & ":" & .Cells(xi, r + IIf(r < xC - 1, 2, 1)).Address)
- Set Rng(1) = Union(Rng(1), Rng(2))
- Wb.Sheets.Add(, Sheets(Sheets.Count)).Name = E & "-" & .Cells(1, r) '新增工作表:命名
- With ActiveSheet
- If r < xC - 1 Then
- Workbooks("book1.xls").Sheets("表頭").[A1].CurrentRegion.Copy .[A1]
- 'book1 請新增一工作表 命名為 : "表頭"
- Else
- Workbooks("book1.xls").Sheets("表頭").[A4].CurrentRegion.Copy .[A1]
- End If
- Rng(1).Copy ActiveSheet.[A3]
- End With
- Next
- Next
- .AutoFilterMode = False
- End With
- Wb.Sheets(1).Move After:=Wb.Sheets(Wb.Sheets.Count)
- Wb.Sheets(1).Activate
- End Sub
複製代碼 |
|