標題:
[發問]
如何讓篩選不會讓按鈕CommandButton位置跑掉?
[打印本頁]
作者:
av8d
時間:
2013-5-9 14:29
標題:
如何將儲存格對應到圖形?
本帖最後由 av8d 於 2013-5-9 14:40 編輯
[attach]14936[/attach]
如何將儲存格對應到圖形?
以上再次麻煩各位大大了~
作者:
av8d
時間:
2013-5-9 15:38
回復
1#
av8d
剛使用錄製巨集~有了一點眉目~
Sub aa()
ActiveSheet.Shapes.Range(Array("Oval 30")).Select
Selection.ShapeRange(1).TextFrame2.TextRange.Characters.Text = 工作表1.[B6]
End Sub
複製代碼
但是希望能縮短成一行~再次感謝
作者:
av8d
時間:
2013-5-9 16:01
回復
2#
av8d
一行也解決了~
Sub aa()
Sheets("工作表2").Select
ActiveSheet.Shapes.Range(Array("Text Box 1")).TextFrame2.TextRange.Characters.Text = 工作表1.[B6]
ActiveSheet.Shapes.Range(Array("Oval 30")).TextFrame2.TextRange.Characters.Text = 工作表1.[B7]
ActiveSheet.Shapes.Range(Array("Oval 31")).TextFrame2.TextRange.Characters.Text = 工作表1.[B8]
End Sub
複製代碼
再次感謝各位大大的觀看~
作者:
GBKEE
時間:
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
複製代碼
作者:
av8d
時間:
2013-5-13 11:38
標題:
如何讓篩選不會讓按鈕CommandButton位置跑掉?
[attach]14959[/attach]
以上是暫時修改的
但是當數量一多~可能就會很複雜~
當時原本使用隱藏欄位的方式~但是發現~
當展開的時候~按鈕全部會擠成一團~
不知道是否有不會跑位的方法呢?
作者:
GBKEE
時間:
2013-5-13 16:28
本帖最後由 GBKEE 於 2013-5-13 16:30 編輯
回復
5#
av8d
試試看
Option Explicit
Sub Ex()
Dim E As Shape, Msg As Boolean
With ActiveSheet
.Range("B:C").EntireColumn.Hidden = True '測試 B:C欄 隱藏
For Each E In .Shapes '
Msg = E.OLEFormat.Object.TopLeftCell.EntireColumn.Hidden
'TopLeftCell: 圖片所在的儲存格位置
'Msg = Ttue : B:C欄 隱藏 反之 Msg = False
'*****圖片所在的欄為隱藏: 圖片隱藏 ***
E.Visible = Not Msg '圖片物件是否可見的值 = Not Msg 的值
'********************************
'Not Msg ; Msg = Ttue -> False
'Not Msg ; Msg = False -> Ttue
Next
Stop '程式暫停.. (查看工作表圖片隱藏) 按 F5 繼續
.Range("B:C").EntireColumn.Hidden = False 'B:C欄 取消 隱藏
For Each E In Me.Shapes
E.Visible = msoTrue
Next
End With
End Sub
複製代碼
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)