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

¦Û°Ê¶ñº¡¿ï¶µ«ö¶s

¦Û°Ê¶ñº¡¿ï¶µ«ö¶s

½Ð°Ý
A1¿é¤J¸ê®ÆªºÄæ¦ì¡AB1¡GF1¦³¤­­Ó¿ï¶µ«ö¶s¡A­Y§Ú·Q¦bAÄ椤¦³³Q¿é¤J¸ê®ÆªºÀx¦s®æ¤¤(A1¡GAx)¡AB1¡GBx©MC1¡GCx©MD1¡GDx©ME1¡GEx©MF1¡GFx¦Û°Ê·|¥X²{¿ï¶µ«ö¶s¸Ó¦p¦ó¡H¡HÁÂÁ¡I
Ä_Ä_

ÁÂÁ¤j¤jªºÀ°§U¡AÁٲӤߪº´£¨Ñ»¡©úµù¸Ñ¡AÅý§Ú²M·¡µ{¦¡ªº¾ãÅé¬[ºc¡A·PÁ³á
Ä_Ä_

TOP

¥»©«³Ì«á¥Ñ GBKEE ©ó 2012-4-9 16:15 ½s¿è

¦^´_ 24# caichen3
¸Õ¸Õ¬Ý
  1. Option Explicit
  2. Private Sub CommandButton4_Click()
  3.     Dim xR As Integer, Ar(1 To 5), xi As Integer, OB As OLEObject
  4.     With ActiveSheet
  5.         .CommandButton4.Placement = xlFreeFloating
  6.         xR = .Cells(Rows.Count, "A").End(xlUp).Row         'AÄæ³Ì«á¦³¸ê®Æªº¦C¸¹
  7.         Ar(1) = xR & "«D±`¤£­«­n" & "(" & xR & ")"
  8.         Ar(2) = xR & "¤£­«­n" & "(" & xR & ")"
  9.         Ar(3) = xR & "´¶³q" & "(" & xR & ")"
  10.         Ar(4) = xR & "­«­n" & "(" & xR & ")"
  11.         Ar(5) = xR & "«D±`­«­n" & "(" & xR & ")"
  12.         For xi = 1 To 5
  13.             With .Cells(xR + 1, "A").Offset(, xi + 2)      '¥HAÄ欰¥D   ³Ì«á¦³¸ê®Æªº¦C¸¹ + 1¦Cªº¦ì¸m
  14.                 Set OB = ActiveSheet.OLEObjects.Add(ClassType:="Forms.OptionButton.1", Left:=.Left, Top:=.Top, Width:=.Width, Height:=.Height)
  15.                 OB.Object.Caption = Ar(xi)
  16.                 OB.Object.GroupName = "Row" & xR + 1   '¹ïÀ³¦C¸¹
  17.             End With
  18.          Next
  19.         With .Range(.Cells(2, "A"), .Cells(xR + 1, "A")).Resize(, 8) 'A2:H & xR + 1
  20.             .Columns(1) = "=row()-1"                                 'AÄ椽¦¡ ¨Ì¦C¸¹-1
  21.             .Columns(1) = .Columns(1).Value                           '±N¤½¦¡ Âন ­È
  22.             .Columns(1).Interior.ColorIndex = 15
  23.             .Borders.LineStyle = xlContinuous
  24.             .Borders(xlEdgeBottom).Weight = xlThick
  25.             .Borders(xlEdgeRight).Weight = xlThick
  26.             .Borders(xlEdgeLeft).Weight = xlThick
  27.         End With
  28.     End With
  29. End Sub
  30. Private Sub CommandButton5_Click()
  31.     Dim xR As Integer, OB As OLEObject, Sp As Variant, MyStr As String
  32.     With ActiveSheet
  33.         .CommandButton5.Placement = xlFreeFloating
  34.          If ActiveCell.Row > .Cells(Rows.Count, "A").End(xlUp).Row Then Exit Sub  '¤£¬O½d³ò¤¤
  35.         xR = ActiveCell.Row                                          '¨ú±o §@¥ÎÀx¦s®æªº¦C¸¹
  36.         For Each OB In ActiveSheet.OLEObjects
  37.             If OB.Name Like "OptionButton*" Then
  38.                 If OB.Object.GroupName = "Row" & xR Then OB.Delete  '§R°£§@¥ÎÀx¦s®æªº¦C¸¹ ¸s²Õ
  39.             End If
  40.         Next
  41.         .Cells(xR, "A").Resize(, 8).Delete xlUp                      '§R°£§@¥ÎÀx¦s®æ AÄæ¨ìHÄæ
  42.         xR = .Cells(Rows.Count, "A").End(xlUp).Row
  43.         With .Range(.Cells(2, "A"), .Cells(xR, "A")).Resize(, 8)     'A2:H & xR :½d³ò¤¤
  44.             .Columns(1) = "=row()-1"
  45.             .Columns(1) = .Columns(1).Value
  46.             .Columns(1).Interior.ColorIndex = 15
  47.             .Borders.LineStyle = xlContinuous
  48.             .Borders(xlEdgeBottom).Weight = xlThick
  49.             .Borders(xlEdgeRight).Weight = xlThick
  50.             .Borders(xlEdgeLeft).Weight = xlThick
  51.         End With
  52.         For Each OB In .OLEObjects                      '­«·s°t¸m OptionButtonªº¤å¦r ¤Î GroupName
  53.             If OB.Name Like "OptionButton*" Then
  54.                 Sp = Split(OB.TopLeftCell.Address(), "$")  '©î¸Ñ OptionButton ©Ò¦bµ´¹ï¦ì ¸m¨Ò: $D$5
  55.                 Select Case Sp(1)
  56.                     Case "D"
  57.                         MyStr = "«D±`¤£­«­n"
  58.                     Case "E"
  59.                         MyStr = "¤£­«­n"
  60.                     Case "F"
  61.                         MyStr = "´¶³q"
  62.                     Case "G"
  63.                         MyStr = "­«­n"
  64.                     Case "H"
  65.                         MyStr = "«D±`­«­n"
  66.                 End Select
  67.                 OB.Object.Caption = Sp(2) - 1 & MyStr & "(" & Sp(2) - 1 & ")"
  68.                 OB.Object.GroupName = "Row" & Sp(2)    '¹ïÀ³¦C¸¹
  69.             End If
  70.         Next
  71.     End With
  72. End Sub
½Æ»s¥N½X

TOP

«ô°UH¤j¤j¥i¥HÀ°§Ú¬Ý¬Ý{·s¼W}«ö¶sµ{¦¡½Xªº³¡¥÷¶Ü¡H¡H
¦pªG§Ú«ö¹L{§R°£}«ö¶s¡A¦Aºò±µµÛ«ö{·s¼W}«ö¶s¡A
·s¼Wªº¿ï¶µ«ö¶sªº¸s²Õ´N·|­«½Æ¡I¡I(n¡G¸s²Õ¸¹½X)
¤@ª½§ä¤£¥X¬O­þ¸Ì¥X¤F°ÝÃD@@

»Ý¨D.rar (67.17 KB)

Ä_Ä_

TOP

¸Û¤ß·PÁÂH¤j¤jªºÀ°¦£¡A¸Ñ¨M§ÚªºÃøÃD¡A¯uªº«D±`·PÁ§A¡I¡I
Ä_Ä_

TOP

¥»©«³Ì«á¥Ñ Hsieh ©ó 2012-3-26 14:01 ½s¿è

¦^´_ 21# caichen3
  1. Sub Add_Opt()
  2. Dim ob As OLEObject, Rng As Range, A As Range, B As Range
  3. n = 0
  4. For Each ob In ActiveSheet.OLEObjects
  5. Set A = ob.TopLeftCell
  6.     If Rng Is Nothing Then
  7.       Set Rng = ob.TopLeftCell.EntireRow
  8.       n = 1
  9.       ElseIf Intersect(Rng, ob.TopLeftCell) Is Nothing Then
  10.       Set Rng = Union(Rng, ob.TopLeftCell.EntireRow)
  11.       n = n + 1
  12.     End If
  13. Next
  14. For Each A In Range("A:A").SpecialCells(xlCellTypeConstants)
  15. Set B = Nothing
  16. If Not Rng Is Nothing Then Set B = Intersect(A, Rng)
  17. If B Is Nothing Then
  18.    n = n + 1
  19.    mystr = "OB" & n & "-"
  20.    For i = 1 To 5
  21.    cap = mystr & i
  22.    With A.Offset(, i + 1)
  23.       Set ob = ActiveSheet.OLEObjects.Add(ClassType:="Forms.OptionButton.1", _
  24.          Left:=.Left, Top:=.Top, Width:=.Width, Height:=.Height)
  25.          ob.Object.Caption = cap
  26.          ob.Object.GroupName = "¸s²Õ " & n
  27.    End With
  28.    Next
  29. End If
  30. Next
  31. End Sub
½Æ»s¥N½X
¾Ç®üµL²P_¤£®¢¤U°Ý

TOP

«D±`·PÁ¦U¦ì¤j¤jªº¦^ÂСA¥H«á§Úªº´£°Ý·|§ó²M·¡»¡©ú¤@¨Ç
¥H¤U¬O§Ú­n§e²{ªºµe¤ùµ²ªG
AÄæ¡G½s¸¹   BÄæ¡G¨Ï¥ÎªÌ»Ý¨D±Ô­z  CÄæ¡GªÅÀx¦s®æ   D~HÄæ¡G©ñ¸mOptionButton ¡A¨C¤@¦C¬°¤@­Ó¸s²Õ¡A¨Ã¥H½s¸¹1~5¨Ì§Ç±Æ¦C(OptionButton¥HOBªí¥Ü)
      A      B       C          D               E              F                G              H
1   1     xxx             OB0-1     OB0-2     OB0-3      OB0-4     OB0-5
2   2     yyy             OB1-1     OB1-2     OB1-3      OB1-4     OB1-5
3   3     zzz             OB2-1     OB2-2     OB2-3      OB2-4     OB2-5
4   4      jjj               OB3-1     OB3-2     OB3-3      OB3-4     OB3-5
5   5      iii               OB4-1     OB4-2     OB4-3      OB4-4     OB4-5
6
7

¦pªG§Ú·Q­n´¡¤J·sªº¤@¦C¡A¨Ã¥B§Æ±æ¯à¦b¸Ó¦C¤W·s¼WOptionButton¡A¹³¤W­z¥H½s¸¹1~5§e²{¡A¦ý­ì¥ýªº¤u§@ªí¤W¤w³Q¿ï¨úªºOptionButton¸ê®Æ¤£·|³Q²M°£©O¡H¡H
Ä_Ä_

TOP

ª©¥D½Ð±Ð±z¡G
§Ú¨Ï¥Î¤F   ¶}µo¤H­û->´¡¤J->«ö¶s(ªí³æ±±¨î¶µ) ¡A ¤@­Ó¦W¬°¶}±Ò¶s¡A¥t¤@­Ó¬°Ãö³¬¶s¡C
½Ð±Ð±z¡A·í§Ú·Q­n¦b EXCEL ¶}±Ò®É¡A¶}±Ò¶s¬°ÁôÂÃ(Hide)¼Ò¦¡¡A·í§Ú¿ï«öÃö³¬¶s®É¡A
¶}±Ò¶s´NÅã¥Ü¥X¨Ó(Enable)¡AÃö³¬¶s´N¦P®ÉÅܧó¬°ÁôÂÃ(Hide)¼Ò¦¡¡A¤Ï¤§¥çµM¡C
¦]¬°§Ú¦bVBA½s¿è¾¹¤º¡A¤£ª¾­n¦p¦ó±oª¾³o¨Ç«ö¶sªºObject Name¡A¥H¤Î¯à§_¨Ï¥Î
Enable©ÎDisable»yªk¡A³Ó¦ÜÁÙ·Q±N'¶}±Ò'¦r¥y§ï¬°¨ä¥L¦r»y©ÎÅܧóÃC¦âµ¥µ¥¡A¦b¦¹ÁÂÁ±z¤F¡I

TOP

¥»©«³Ì«á¥Ñ hugh0620 ©ó 2012-3-22 11:06 ½s¿è

¦^´_ 15# caichen3


    ¤£­nÅýH¤j¤j©Î¨ä¥L¤H²q´ú§A­nªºµ²ªG~
    ¥i¥H°µ¤@­Ó¹Ï¨Ò©ÎÀÉ®×½d¥»~
    ±N§A­nªºµ²ªG~ §e²{¥X¨Ó~ ¤ñ¸û¦n³B²z­ò~
¾Ç²ß¤~¯à´£¤É¦Û¤v

TOP

¦^´_ 17# caichen3

§Aªºµ{¦¡½X¨Ó¬Ý
¦bb¦C´¡¤J·sªº¤@¦C¡A»P·s¼W±±¨î¶µ¦³¦óÃö«Y?
¦A²q¤@¦¸¬Ý¬Ý¡A¥i¯à¬O¦b¤U²¾I1¦Cªº¦ì¸m´¡¤J±±¨î¶µ§a
¦AµLªk´y­z²M·¡§Aªº»Ý¨D¡A¥i¯à´NµL¯à¬°¤O¤F
  1. Sub ex()
  2. Dim ob As OLEObject
  3. For Each ob In ActiveSheet.OLEObjects
  4.    If ob.progID = "Forms.OptionButton.1" Then ob.Delete
  5. Next
  6. For Each a In Range("A:A").SpecialCells(xlCellTypeConstants)
  7. a.Offset([I1]).EntireRow.Insert
  8.    For i = 1 To 5
  9.    mystr = IIf(i = 1, "«D±`¤£­«­n", IIf(i = 2, "¤£­«­n", IIf(i = 3, "´¶³q", IIf(i = 4, "­«­n", "«D±`­«­n"))))
  10.    With a.Offset([I1], i)
  11.       Set ob = ActiveSheet.OLEObjects.Add(ClassType:="Forms.OptionButton.1", _
  12.          Left:=.Left, Top:=.Top, Width:=.Width, Height:=.Height)
  13.          ob.Object.Caption = mystr
  14.          ob.Object.GroupName = "¸s²Õ " & n
  15.    End With
  16.    Next
  17. Next

  18. End Sub
½Æ»s¥N½X
¾Ç®üµL²P_¤£®¢¤U°Ý

TOP

        ÀR«ä¦Û¦b : ¡i»X½ªªº¦Û¥Ñ¡j¤H±`¦b¤°»ò³£¥i¥H¦Û¥Ñ¦Û¦bªº®É­Ô¡A«o³Q³oºØÀH¤ß©Ò±ýªº¦Û¥Ñ»X½ª¡AµêÂY®É¥ú¦Ó²@µLıª¾¡C
ªð¦^¦Cªí ¤W¤@¥DÃD