返回列表 上一主題 發帖

[發問] 判斷checkbox為true之後將資料選取

回復 2# rick4615
  1. Sub 加入()
  2. With 工作表1
  3.   For i = 1 To 3
  4.   Set a = .Range("A1").Offset(, i)
  5.      With .OLEObjects.Add(ClassType:="Forms.CheckBox.1", Left:=.Cells(i, 1).Left, Top:=.Cells(i, 1).Top, Width:=100, Height:=20)
  6.      .LinkedCell = a.Address
  7.      .Object.Caption = i
  8.      End With
  9.   Next
  10. End With
  11. End Sub
  12. Sub 刪除()
  13. ActiveSheet.OLEObjects.Delete
  14. End Sub
  15. Sub 資料輸出()
  16. With 工作表1
  17. For i = 1 To .OLEObjects.Count
  18.    If .OLEObjects(i).Object.Value Then
  19.       Set a = Range(.OLEObjects(i).LinkedCell)
  20.       MsgBox a.Offset(1).Value & Chr(10) & a.Offset(2).Value & Chr(10) & a.Offset(3).Value
  21.     End If
  22. Next
  23. End With
  24. End Sub
複製代碼
學海無涯_不恥下問

TOP

回復 4# rick4615
  1. Sub 加入()
  2. With 工作表1
  3.   For i = 1 To 3 '加入3個CheckBox
  4.   Set a = .Range("A1").Offset(, i)
  5.      With .OLEObjects.Add(ClassType:="Forms.CheckBox.1", Left:=.Cells(i, 1).Left, Top:=.Cells(i, 1).Top, Width:=100, Height:=20)
  6.      .LinkedCell = a.Address '指定連結儲存格
  7.      .Object.Caption = i
  8.      End With
  9.   Next
  10. End With
  11. End Sub
  12. Sub 刪除()
  13. Dim Ob As OLEObject
  14. For Each Ob In ActiveSheet.OLEObjects
  15.    If Ob.progID = "Forms.CheckBox.1" Then Ob.Delete '只刪除CheckBox
  16. Next
  17. End Sub
  18. Sub 資料輸出()
  19. With 工作表1
  20. For i = 1 To .OLEObjects.Count
  21. If .OLEObjects(i).progID = "Forms.CheckBox.1" Then
  22.    If .OLEObjects(i).Object.Value Then
  23.       Set a = Range(.OLEObjects(i).LinkedCell) '被勾選地的CheckBox連結儲存格
  24.       MsgBox a.Offset(1).Value & Chr(10) & a.Offset(2).Value & Chr(10) & a.Offset(3).Value '顯示被勾選的項目
  25.     End If
  26. End If
  27. Next
  28. End With
  29. End Sub
複製代碼
學海無涯_不恥下問

TOP

回復 8# rick4615
  1. Sub 資料輸出()
  2. With 工作表1
  3. For i = 1 To .OLEObjects.Count
  4. If .OLEObjects(i).progID = "Forms.CheckBox.1" Then
  5.    If .OLEObjects(i).Object.Value Then
  6.       Set a = .Range(.OLEObjects(i).LinkedCell) '被勾選地的CheckBox連結儲存格
  7.       MsgBox Join(Application.Transpose(.Range(a.Offset(1), a.End(xlDown))), Chr(10)) '顯示被勾選的項目
  8.    End If
  9. End If
  10. Next
  11. End With
  12. End Sub
複製代碼
學海無涯_不恥下問

TOP

回復 10# rick4615
  1. Sub ex()
  2. Dim Sht As Worksheet
  3. Set Sht = 工作表1
  4.    With Sht.OLEObjects("ListBox1").Object '清單方塊
  5.       For i = 0 To .ListCount - 1 '清單
  6.       MyList = .List(i)
  7.          With Sht.OLEObjects.Add(ClassType:="Forms.CheckBox.1", _
  8.               DisplayAsIcon:=False, Link:=False, Left:=0 + 93.5 * i, Top:=126, Width:=90, Height:=22.5)
  9.               .Object.Caption = MyList '以清單為CheckBox標題
  10.          End With
  11.       Next
  12.     End With
  13. End Sub
複製代碼
學海無涯_不恥下問

TOP

        靜思自在 : 口說一句好話,如口出蓮花;口說一句壞話如口吐毒蛇。
返回列表 上一主題