| ©«¤l95 ¥DÃD29 ºëµØ0 ¿n¤À150 ÂI¦W0  §@·~¨t²Îwindows2003 ³nÅ骩¥»office 2003 ¾\ŪÅv20 ©Ê§O¨k ¨Ó¦ÛKaoshiung µù¥U®É¶¡2010-11-5 ³Ì«áµn¿ý2018-2-8 
 | 
[µo°Ý] ½Ð±Ð:¦p¦ó¦b¨Ï¥Îactivesheet«á,¦A¨î¯S©w¤u§@ªí¤£°õ¦æµ{¦¡ 
| ¥»©«³Ì«á¥Ñ GBKEE ©ó 2013-1-14 15:40 ½s¿è 
 Dear :
 ¤p§Ì×¥¿©ó¦U¤u§@ªí¤W°õ¦æ¹Ï¤ù©ñ¤jÁY¤p°Ê§@,¦]¤u§@ªí¼Æµø¸ü¤JÀɮצh¤Ö¤£¤@©w,¦ý¦]¨ä¦³¤G¶¤u§@ªí¤£»Ý°µ¨ä¹Ï¤ù©ñ¤jÁY¤p°Ê§@,¤£ª¾n¦p¦ó×¥¿,½Ð¦U¦ì¤j¤jÀ°¦£«ü¤Þ¤@¤U°g¬z,·P®¦!
 ½Æ»s¥N½XPrivate Sub Workbook_Open()
Set dic = CreateObject("Scripting.Dictionary")
Dim Sh As Shape
Dim SHT As Worksheet
Dim DaSht As String, CALSht As String
DaSht = "DashBoard": CALSht = "CALS" ' ³o¤GÓ¤u§@ªí¤£°µshape©ñ¤jÁY¤p°Ê§@
    For Each SHT In Sheets
        Do While SHT Is Nothing
            If SHT.Name = DaSht Or SHT.Name = CALSht Then
            Exit Do
            Else
                For Each Sh In SHT.Shapes ' ³s¦Pµù¸Ñªº¤å¦r¤è¶ô©Î¹Ïªí¤]·|³Q»{¬°¬Oshape,¶}Àɮ׮ɷ|alert
                With Sh
                    Sh.OnAction = "nn"
                    dic(Sh.Name & "h") = Sh.Height
                    dic(Sh.Name & "w") = Sh.Width
                End With
                Next
            End If
        Loop
    Next
    
End Sub
Sub nn()
With ActiveSheet.Shapes(Application.Caller)
'---Åܧ󬰦b¦Û¤vªº¦ì¸m§@©ñ¤jÁY¤pªº°Ê§@
    If .Height <> dic(.Name & "h") Then
    .Height = dic(.Name & "h")
    .Width = dic(.Name & "w")
    Else
    .Height = dic(.Name & "h") * 8
    .Width = dic(.Name & "w") * 8
    .ZOrder msoBringToFront
    End If
End With
End Sub
 Question_20130114.zip (94.89 KB) | 
 |