返回列表 上一主題 發帖

[發問] 如何讓篩選不會讓按鈕CommandButton位置跑掉?

回復 1# av8d
試試看
  1. Option Explicit
  2. Sub Ex()
  3.     Dim Rng As Range, Sh_Name As String, i As Integer
  4.     Set Rng = Sheets("首頁").[B5]
  5.     Do While Rng <> ""
  6.          Sheets(Rng.Offset(-2) & "人").Copy , Sheets(Sheets.Count) '複製 12人,15人工作表
  7.          '***** 原檔案的工作表 "12-1" 改為 "12人","12-2" 改為 "15人"  *********
  8.          'Sh_Name = Mid(Rng, 1, InStr(Rng, vbLf))                  '複製的工作表名稱
  9.          With ActiveSheet
  10.             '.Name = Sh_Name
  11.             .Shapes("Text Box 1").OLEFormat.Object.Characters.Text = Rng
  12.             For i = 1 To Rng.Offset(-2)
  13.                '**** 須依序修改 12人,15人 座位圖的名稱 P:1-> P:12, P:15  ****
  14.                 With .Shapes("P:" & i).OLEFormat.Object
  15.                     .Characters.Text = Rng.Offset(i)
  16.                     .AutoSize = IIf(Len(Rng.Offset(i)) > 0, True, False)    '圖片:能自動調整大小
  17.                     If InStr(Rng.Offset(-1), "雙") And i <= 2 Or i = 1 Then '主位圖
  18.                         .ShapeRange.Fill.ForeColor.SchemeColor = 14
  19.                     End If
  20.                      With .Characters.Font
  21.                         .Name = "新細明體"
  22.                         .FontStyle = "粗體"
  23.                         .Size = 16
  24.                     End With
  25.                 End With
  26.             Next
  27.         End With
  28.         Set Rng = Rng.Offset(, 1)
  29.     Loop
  30. End Sub
複製代碼
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

本帖最後由 GBKEE 於 2013-5-13 16:30 編輯

回復 5# av8d
試試看
  1. Option Explicit
  2. Sub Ex()
  3.     Dim E As Shape, Msg As Boolean
  4.     With ActiveSheet
  5.         .Range("B:C").EntireColumn.Hidden = True   '測試 B:C欄 隱藏
  6.         For Each E In .Shapes                   '
  7.             Msg = E.OLEFormat.Object.TopLeftCell.EntireColumn.Hidden
  8.             'TopLeftCell: 圖片所在的儲存格位置
  9.             'Msg = Ttue : B:C欄 隱藏 反之  Msg = False
  10.             '*****圖片所在的欄為隱藏: 圖片隱藏 ***
  11.             E.Visible = Not Msg  '圖片物件是否可見的值 = Not Msg 的值
  12.             '********************************
  13.             'Not Msg ; Msg = Ttue  -> False
  14.             'Not Msg ; Msg = False -> Ttue
  15.         Next
  16.         Stop    '程式暫停.. (查看工作表圖片隱藏)    按 F5 繼續
  17.         .Range("B:C").EntireColumn.Hidden = False   'B:C欄  取消 隱藏
  18.         For Each E In Me.Shapes
  19.             E.Visible = msoTrue
  20.         Next
  21.     End With
  22. End Sub
複製代碼
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

        靜思自在 : 道德是提昇自我的明燈,不該是呵斥別人的鞭子。
返回列表 上一主題