ªð¦^¦Cªí ¤W¤@¥DÃD µo©«

[µo°Ý] ­«·s³]¸mcheckboxªº¸s²Õ

[µo°Ý] ­«·s³]¸mcheckboxªº¸s²Õ

¥»©«³Ì«á¥Ñ caichen3 ©ó 2012-4-27 10:20 ½s¿è

¦p¦ó­«·s³]¸mcheckboxªº¸s²Õ©O¡H
checkboxªº¸s²Õ¬°¥¦ªº©Ò¦b¦C¡A­Y§Ú§R°£²Ä12¦C(¾ã¦C)¡A¨Ã§Æ±æ²Ä12¦C¥H¤Uªºcheckbox·|­«·s§ïÅܸs²Õ¸¹½X¡H¡H
¨Ã¥B¦p¦ó§ïÅÜcheckboxªº©³¦â©O¡H¡H

¬¡­¶Ã¯1.rar (207.43 KB)

Ä_Ä_

¦^´_ 2# GBKEE
·PÁ¤j¤jªº¤j¤OÀ°§U¡A¨ü¯q¨}¦h¡A:)  :D
Ä_Ä_

TOP

¥»©«³Ì«á¥Ñ GBKEE ©ó 2012-4-29 13:48 ½s¿è

¦^´_ 1# caichen3
½Ð·s¼W¤@¯ë¼Ò²Õ
©ó³»ºÝ ¿é¤J
  1. Option Explicit
  2. Public Const OB_Caption1 = "¥\¯à©Ê»Ý¨D"
  3. Public Const OB_Caption2 = "·P©x©Ê»Ý¨D"
  4. Public Const OB_Caption3 = "ÁôÂéʻݨD"
½Æ»s¥N½X
UserForm1
  1. Private Sub CommandButton1_Click()    '«È¤áªº¯u¥¿»Ý¨D¿é¤J
  2.     Dim OB As OLEObject, k As Integer, xR As Integer
  3.     If ComboBox1.ListIndex = -1 Then Exit Sub      'ComboBox1 ªº­È¤£¦b²M³æ¤º
  4.     With ActiveSheet
  5.         .UsedRange.Offset(11) .Clear                 '²Ä12¦C¥H¤UªºÀx¦s®æ '²M°£¤º®e
  6.         With .[A12:F12].Resize(ComboBox1.Value)     '²Ä12¦C¥H¤UªºÀx¦s®æ ÂX¥R¬°ComboBox1.Value ªº¦C¼Æ½d³ò
  7.             .Borders.LineStyle = xlContinuous
  8.             .Borders.ColorIndex = 1
  9.         End With
  10.         For Each OB In ActiveSheet.OLEObjects
  11.             If OB.progID = "Forms.CheckBox.1" Then
  12.              If OB.TopLeftCell.Row > 11 Then OB.Delete
  13.             End If
  14.         Next
  15.         For k = 1 To ComboBox1.Value
  16.             .Cells(11 + k, "C") = k
  17.             For xR = 0 To 2
  18.                 With .Cells(11 + k, "d").Offset(, xR)   '±q ²Ä11«á ¶}¨Ï
  19.                     Set OB = ActiveSheet.OLEObjects.Add(ClassType:="Forms.CheckBox.1", Left:=.Left, Top:=.Top, Width:=.Width, Height:=.Height)
  20.                     OB.Object.Caption = IIf(xR = 0, OB_Caption1, IIf(xR = 1, OB_Caption2, OB_Caption3))
  21.                     OB.Object.GroupName = .Row          '¥H¦C¸¹¬°¸s²Õ¦WºÙ
  22.                     If OB.Object.Caption = OB_Caption3 Then OB.Object.BackColor = &H80FFFF
  23.                 End With
  24.             Next
  25.         Next
  26.     End With
  27.     Unload UserForm1
  28. End Sub
½Æ»s¥N½X
ªí6-6
  1. Private Sub CommandButton2_Click()    '§R°£
  2.     Dim xR As Integer, OB As OLEObject
  3.     With ActiveSheet
  4.         If ActiveCell.Row > Cells(Rows.Count, "C").End(xlUp).Row Or ActiveCell.Row <= 11 Then Exit Sub
  5.         xR = ActiveCell.Row
  6.         For Each OB In ActiveSheet.OLEObjects
  7.             If OB.Name Like "CheckBox*" Then
  8.                 If OB.TopLeftCell.Row = xR Then OB.Delete   'TopLeftCell.Row ±±¨î¶µ©Ò¦bªº¦ì¸m.¦C¸¹
  9.             End If
  10.         Next
  11.         .Cells(xR, "A").Resize(, 6).Delete xlUp
  12.         For Each OB In ActiveSheet.OLEObjects
  13.             If OB.Name Like "CheckBox*" Then
  14.                 If OB.TopLeftCell.Row >= xR Then
  15.                 '>=TopLeftCell.Row ±±¨î¶µ©Ò¦bªº¦ì¸m.¦C¸¹  ¤~»Ý­«·s¾ã²z ¸s²Õ¦WºÙ
  16.                     OB.Object.GroupName = OB.TopLeftCell.Row
  17.                     .Cells(OB.TopLeftCell.Row, "C") = OB.TopLeftCell.Row - 11
  18.                     '³]¸m CÄ檺¼Æ¦r
  19.                 End If
  20.             End If
  21.         Next
  22.     End With
  23. End Sub
  24. Private Sub CommandButton4_Click()   '·s¼W
  25.     Dim xR  As Range, xi As Integer
  26.     With ActiveSheet
  27.         Set xR = .Cells(Rows.Count, "C").End(xlUp).Offset(1)   'CÄ檺¼Æ¦r³Ì«á¦³¤@­Ó¸ê®ÆªºÀx¦s®æ ©¹¤U¤@¦C
  28.         If xR.Row <= 11 Then Set xR = .Cells(12, "C")
  29.         xR = xR.Row - 11            ' µ¹­È : ±q²Ä11 ¦C¶}©l
  30.         For xi = 1 To 3
  31.             With xR.Offset(, xi)
  32.                 Set OB = ActiveSheet.OLEObjects.Add(ClassType:="Forms.CheckBox.1", Left:=.Left, Top:=.Top, Width:=.Width, Height:=.Height)
  33.                 OB.Object.Caption = IIf(xi = 1, OB_Caption1, IIf(xi = 2, OB_Caption2, OB_Caption3))
  34.                 OB.Object.GroupName = xR.Row   '¹ïÀ³¦C¸¹
  35.                 If OB.Object.Caption = OB_Caption3 Then OB.Object.BackColor = &H80FFFF
  36.             End With
  37.         Next
  38.         With .Range(Cells(xR.Row, "A"), .Cells(xR.Row, "F"))
  39.             .Borders.LineStyle = xlContinuous
  40.             .Borders(xlEdgeRight).ColorIndex = 1
  41.         End With
  42. End With
  43. End Sub
½Æ»s¥N½X

TOP

        ÀR«ä¦Û¦b : ­n§åµû§O¤H®É¡A¥ý·Q·Q¦Û¤v¬O§_§¹¬üµL¯Ê¡C
ªð¦^¦Cªí ¤W¤@¥DÃD