- 帖子
- 5923
- 主題
- 13
- 精華
- 1
- 積分
- 5986
- 點名
- 0
- 作業系統
- win10
- 軟體版本
- Office 2010
- 閱讀權限
- 150
- 性別
- 男
- 來自
- 台灣基隆
- 註冊時間
- 2010-5-1
- 最後登錄
- 2022-1-23
        
|
4#
發表於 2013-5-9 16:59
| 只看該作者
回復 1# av8d
試試看- Option Explicit
- Sub Ex()
- Dim Rng As Range, Sh_Name As String, i As Integer
- Set Rng = Sheets("首頁").[B5]
- Do While Rng <> ""
- Sheets(Rng.Offset(-2) & "人").Copy , Sheets(Sheets.Count) '複製 12人,15人工作表
- '***** 原檔案的工作表 "12-1" 改為 "12人","12-2" 改為 "15人" *********
- 'Sh_Name = Mid(Rng, 1, InStr(Rng, vbLf)) '複製的工作表名稱
- With ActiveSheet
- '.Name = Sh_Name
- .Shapes("Text Box 1").OLEFormat.Object.Characters.Text = Rng
- For i = 1 To Rng.Offset(-2)
- '**** 須依序修改 12人,15人 座位圖的名稱 P:1-> P:12, P:15 ****
- With .Shapes("P:" & i).OLEFormat.Object
- .Characters.Text = Rng.Offset(i)
- .AutoSize = IIf(Len(Rng.Offset(i)) > 0, True, False) '圖片:能自動調整大小
- If InStr(Rng.Offset(-1), "雙") And i <= 2 Or i = 1 Then '主位圖
- .ShapeRange.Fill.ForeColor.SchemeColor = 14
- End If
- With .Characters.Font
- .Name = "新細明體"
- .FontStyle = "粗體"
- .Size = 16
- End With
- End With
- Next
- End With
- Set Rng = Rng.Offset(, 1)
- Loop
- End Sub
複製代碼 |
|