VBA ซ่อนปุ่มตามลำดับเหตุการณ์
Posted: Thu Jan 27, 2022 6:35 pm
รบกวนสอบถามครับ ผมใช้ office 2010 ครับ
1.ต้องการให้ตอนเริ่มแรก แสดงแต่ปุ่ม รับงานเข้า ปุ่มเดียว
2. เมื่อใส่ค่า ในช่อง B3 ปุ่มรับงานเข้า หายไป แต่ปุ่ม เริ่มตรวจงานแสดงขึ้นมา
3. เมื่อใส่ค่า ในช่อง B4 ให้ปุ่มเริ่มตรวจงาน หายไป ปุ่มตรวจงานเสร็จ แสดงขึ้นมา
4. เมื่อใส่ค่า ในช่อง B5 ให้ปุ่มตรวจงานเสร็จ หายไป ปุ่มส่งงาน แสดงขึ้นมา
5. เมื่อใส่ค่า ในช่อง B6 ให้ปุ่มทุกปุ่ม หายไปครับ
6. เมื่อลบค่าทุกช่อง ให้ ปุ่มรับงานเข้า แสดงขึ้นมาครับ
ผมใช้ Code นี้ แต่ปุ่มมันไม่หายครับ ต้องปรับอย่างไรครับ
1.ต้องการให้ตอนเริ่มแรก แสดงแต่ปุ่ม รับงานเข้า ปุ่มเดียว
2. เมื่อใส่ค่า ในช่อง B3 ปุ่มรับงานเข้า หายไป แต่ปุ่ม เริ่มตรวจงานแสดงขึ้นมา
3. เมื่อใส่ค่า ในช่อง B4 ให้ปุ่มเริ่มตรวจงาน หายไป ปุ่มตรวจงานเสร็จ แสดงขึ้นมา
4. เมื่อใส่ค่า ในช่อง B5 ให้ปุ่มตรวจงานเสร็จ หายไป ปุ่มส่งงาน แสดงขึ้นมา
5. เมื่อใส่ค่า ในช่อง B6 ให้ปุ่มทุกปุ่ม หายไปครับ
6. เมื่อลบค่าทุกช่อง ให้ ปุ่มรับงานเข้า แสดงขึ้นมาครับ
ผมใช้ Code นี้ แต่ปุ่มมันไม่หายครับ ต้องปรับอย่างไรครับ
Code: Select all
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
Set Target = Range("B2")
'รับงานเข้า
If Range("B3").Value = "" Then
Sheets("Sheet1").Shapes("rectangle 1").Visible = msoTrue
Else
Sheets("Sheet1").Shapes("rectangle 1").Visible = msoFalse
End If
'เริ่มตรวจงาน
If Range("B3").Value <> "" Then
Sheets("Sheet1").Shapes("rectangle 2").Visible = msoTrue
Else
Sheets("Sheet1").Shapes("rectangle 2").Visible = msoFalse
End If
'เสร็จงาน
If Range("B4").Value <> "" Then
Sheets("Sheet1").Shapes("rectangle 3").Visible = msoTrue
Else
Sheets("Sheet1").Shapes("rectangle 3").Visible = msoFalse
End If
'ส่งงาน
If Range("B5").Value <> "" Then
Sheets("Sheet1").Shapes("rectangle 4").Visible = msoTrue
Else
Sheets("Sheet1").Shapes("rectangle 4").Visible = msoFalse
End If
End Sub