Bạn thử code nàyNhờ các bạn giúp code để Ẩn và Hiện shapes trong sheet. Xin cãm ơn
Sub An_Shape
ActiveSheet.Shapes.Range(Array("Ten Shapes")).Visible = msoFalse
End sub
Tham khảo File.Nhờ các bạn giúp code để Ẩn và Hiện shapes trong sheet. Xin cãm ơn
Em chào thầy, nhờ thầy giải thích giúp em đoạn code mà thầy đã giúp trong bài #3 được không ạ?Tham khảo File.
Option Explicit
Sub AnHien_Hình()
With ActiveSheet.Shapes("Rectangle1").TextFrame2.TextRange.Characters
If .Text = "Hi" & ChrW(7879) & "n" Then
.Text = ChrW(7848) & "n"
ActiveSheet.Shapes("Picture1").Visible = False
Else
.Text = "Hi" & ChrW(7879) & "n"
ActiveSheet.Shapes("Picture1").Visible = True
End If
End With
End Sub
Code lật qua lật lại giữa hai trạng thái thì giản dị hơn:Em chào thầy, nhờ thầy giải thích giúp em đoạn code mà thầy đã giúp trong bài #3 được không ạ?
Mã:If .Text = "Hi" & ChrW(7879) & "n" Then .Text = ChrW(7848) & "n" ActiveSheet.Shapes("Picture1").Visible = False Else .Text = "Hi" & ChrW(7879) & "n" ActiveSheet.Shapes("Picture1").Visible = True End If
Sub HideAllShapes()
On Error Resume Next
Static Hide As Boolean: Hide = Not Hide
ActiveSheet.DrawingObjects.visible = Hide
End Sub
Sub btnHideShape()
Call HideShape("tên")
End Sub
Sub HideShape(Byval Shape$)
On Error Resume Next
ActiveSheet.Shapes(Shape).visible = Not ActiveSheet.Shapes(Shape).visible
End Sub
Sub btnHideMultiShapes()
Static Hide As Boolean: Hide = Not Hide
Call HideMultiShapes(Hide, "tên 1", "tên 2", "tên 3") ', ...'
End Sub
Sub HideMultiShapes(ByVal Visible As Boolean, ParamArray Shapes() As Variant)
Dim Shape
On Error Resume Next
For Each Shape In Shapes
ActiveSheet.Shapes(Shape).Visible = Visible
Next Shape
End Sub
Em cám ơn!Code lật qua lật lại giữa hai trạng thái thì giản dị hơn:
Set theShape = ActiveSheet.Shapes("Picture1")
Set theAnHienText = ActiveSheet.Shapes("Rectangle1").TextFrame2.TextRange.Characters
theShape.Visible = Not theShape.Visible
theAnHienText.Text = IIF(theShape.Visible, ChrW(7848) & "n", "Hi" & ChrW(7879) & "n")
Mà tôi cũng chả hiểu "để có thể ẩn/hiện 1 shape mà lại phải tạo 1 shape điều khiển" thì cuối cùng được cái gì?
Tuyệt vời anh!+ Ẩn hiện tất cả Shape
--------------------------PHP:Sub HideAllShapes() On Error Resume Next Static Hide As Boolean: Hide = Not Hide ActiveSheet.DrawingObjects.visible = Hide End Sub
+ Ẩn hiện một Shape:
--------------------------PHP:Sub btnHideShape() Call HideShape("tên") End Sub Sub HideShape(Byval Shape$) On Error Resume Next ActiveSheet.Shapes(Shape).visible = Not ActiveSheet.Shapes(Shape).visible End Sub
+ Ẩn hiện nhiều Shape:
PHP:Sub btnHideMultiShapes() Static Hide As Boolean: Hide = Not Hide Call HideMultiShapes(Hide, "tên 1", "tên 2", "tên 3") ', ...' End Sub Sub HideMultiShapes(ByVal Visible As Boolean, ParamArray Shapes() As Variant) Dim Shape On Error Resume Next For Each Shape In Shapes ActiveSheet.Shapes(Shape).Visible = Visible Next Shape End Sub