แสดง Shapes ตามเงื่อนไข
Posted: Mon Mar 11, 2024 3:58 pm
เราสามารถสั่งให้ เส้น Line แสดงหรือไม่แสดง ตามเงื่อนไขได้ไหมครับ เช่น B1 = 1 จะแสดงเส้น Line B1 = 0 จะไม่แสดงเส้น Line
ฟอรัม Excel, VBA และอื่นๆ ของคนไทยเพื่อประโยชน์ของทุกคนในจักรวาล (Forum Excel, VBA and others of Thai people for everyone in the universe.)
http://snasui.com/
snasui wrote: Mon Mar 11, 2024 7:38 pm สามารถทำได้ด้วย VBA ลองเขียนมาเองดูก่อน ติดตรงไหนค่อยถามกันต่อครับ
Code: Select all
Sub Macro1()
'
' Macro1 Macro
'
'
Range("B1").Select
ActiveCell.FormulaR1C1 = "0"
Range("B2").Select
ActiveSheet.Shapes.Range(Array("Straight Connector 11")).Select
Selection.Delete
ActiveCell.FormulaR1C1 = "0"
ActiveSheet.Shapes.Range(Array("Straight Connector 19")).Select
Selection.Delete
Range("B3").Select
ActiveCell.FormulaR1C1 = "0"
ActiveSheet.Shapes.Range(Array("Straight Connector 27")).Select
Selection.Delete
Range("B4").Select
ActiveCell.FormulaR1C1 = "0"
ActiveSheet.Shapes.Range(Array("Straight Connector 35")).Select
Selection.Delete
Range("B5").Select
ActiveCell.FormulaR1C1 = "0"
ActiveSheet.Shapes.Range(Array("Straight Connector 43")).Select
Selection.Delete
Range("B6").Select
ActiveCell.FormulaR1C1 = "0"
ActiveSheet.Shapes.Range(Array("Straight Connector 51")).Select
Selection.Delete
End Sub
Code: Select all
Sub Macro1()
'
' Macro1 Macro
'
If Range("B1").Value = 0 Then
ActiveSheet.Shapes.Range(Array("Straight Connector 11")).Visible = False
Else
ActiveSheet.Shapes.Range(Array("Straight Connector 11")).Visible = True
End If
If Range("B2").Value = 0 Then
ActiveSheet.Shapes.Range(Array("Straight Connector 19")).Visible = False
Else
ActiveSheet.Shapes.Range(Array("Straight Connector 19")).Visible = True
End If
'Other code
ต้องคอยกด Run Marco ไหมครับsnasui wrote: Tue Mar 12, 2024 10:04 am ตัวอย่าง Code ครับ
ถ้าคอลัมน์ B เป็น 0 ให้ซ่อน Object ถ้าเป็น 1 ให้แสดง Object ครับCode: Select all
Sub Macro1() ' ' Macro1 Macro ' If Range("B1").Value = 0 Then ActiveSheet.Shapes.Range(Array("Straight Connector 11")).Visible = False Else ActiveSheet.Shapes.Range(Array("Straight Connector 11")).Visible = True End If If Range("B2").Value = 0 Then ActiveSheet.Shapes.Range(Array("Straight Connector 19")).Visible = False Else ActiveSheet.Shapes.Range(Array("Straight Connector 19")).Visible = True End If 'Other code