Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 4377|回复: 6

[已解决]利用GroupBox建立OptionButtons為何無法構成一個群組?

[复制链接]
发表于 2011-9-28 10:18 | 显示全部楼层 |阅读模式
各位大大 我使用以下代碼利用GroupBox建立OptionButtons時可以完成是非題的選項
Sub box_make1()
   
    For i = 0 To 24
        k = "e" & i + 5
        ActiveSheet.GroupBoxes.Add(1.8, 165 + i * 120, 115, 23).Select
        Selection.Characters.Text = ""
        ActiveSheet.OptionButtons.Add(6.6, 170 + i * 120, 42, 5).Select
        Selection.Characters.Text = "對"
        ActiveSheet.OptionButtons.Add(65.4, 170 + i * 120, 42, 5).Select
        Selection.Characters.Text = "錯"
        With Selection
            .Value = xlOff
            .LinkedCell = k
            .Display3DShading = False
        End With
   
    Next
    Range("C5").Select
End Sub
但是為什麼使用以下代碼卻無法將每個"對" "錯"組成一個群組?
因為我想當儲存格的高度不一樣時也可保持在正中間
Sub box_make2()
   
    For i = 0 To 24
        k = "e" & i + 5
      m = "a" & i + 1
        ActiveSheet.GroupBoxes.Add(Range(m).Left, Range(m).Top, Range(m).Width, Range(m).Height).Select
        Selection.Characters.Text = ""
        ActiveSheet.OptionButtons.Add(Range(m).Left, Range(m).Top, Range(m).Width, Range(m).Height).Select
        Selection.Characters.Text = "對"
        ActiveSheet.OptionButtons.Add(Range(m).Left + 10, Range(m).Top, Range(m).Width, Range(m).Height).Select
        Selection.Characters.Text = "錯"
        With Selection
            .Value = xlOff
            .LinkedCell = k
            .Display3DShading = False
        End With
   
    Next
    Range("C5").Select
End Sub
有勞大大
最佳答案
2011-9-28 18:41
e2solo 发表于 2011-9-28 17:14
謝謝大大
只是不明白為什麼使用width  ,height就不行,一定要使用數字
因我的儲存格每個題目的高度並不一 ...

能使用width  ,height。因为不知你的附件,所以我才用数字,好测试。如果要用width  ,height,最好提供附件。

要能组合,我觉得生成时,包含在分组框里的选项按钮,就不能和其它选项按钮或分组框重叠(即存在相交的区域)。

excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2011-9-28 13:25 | 显示全部楼层
  1. Sub box_make2()
  2.     Dim i, k, m
  3.     Application.ScreenUpdating = False
  4.     For i = 0 To 24
  5.         k = "e" & i + 5
  6.         m = "a" & i + 1
  7. '        ActiveSheet.GroupBoxes.Add(Range(m).Left, Range(m).Top, 109, 13).Select '不行
  8.         ActiveSheet.GroupBoxes.Add(Range(m).Left, Range(m).Top, 109, 13).Select '行
  9.         Selection.Characters.Text = ""
  10.         ActiveSheet.OptionButtons.Add(Range(m).Left, Range(m).Top, 50, 13).Select
  11.         Selection.Characters.Text = "對"
  12.         ActiveSheet.OptionButtons.Add(Range(m).Left + 60, Range(m).Top, 50, 13).Select
  13.         Selection.Characters.Text = "錯"
  14.         With Selection
  15.             .Value = xlOff
  16.             .LinkedCell = k
  17.             .Display3DShading = False
  18.         End With
  19.     Next
  20.     Range("C5").Select
  21. End Sub
复制代码
工作簿1.rar (25.81 KB, 下载次数: 11)
回复

使用道具 举报

 楼主| 发表于 2011-9-28 17:14 | 显示全部楼层
謝謝大大
只是不明白為什麼使用width  ,height就不行,一定要使用數字
因我的儲存格每個題目的高度並不一致
回复

使用道具 举报

发表于 2011-9-28 18:41 | 显示全部楼层    本楼为最佳答案   
e2solo 发表于 2011-9-28 17:14
謝謝大大
只是不明白為什麼使用width  ,height就不行,一定要使用數字
因我的儲存格每個題目的高度並不一 ...

能使用width  ,height。因为不知你的附件,所以我才用数字,好测试。如果要用width  ,height,最好提供附件。

要能组合,我觉得生成时,包含在分组框里的选项按钮,就不能和其它选项按钮或分组框重叠(即存在相交的区域)。

回复

使用道具 举报

 楼主| 发表于 2011-9-28 19:15 | 显示全部楼层
太感謝大大了
"分组框里的选项按钮,就不能和其它选项按钮或分组框重叠(即存在相交的区域)"
就是這句話,終於可以實行了
謝謝  謝謝  謝謝
可以再請教一個問題嗎
要如何一次刪除這些物件?
回复

使用道具 举报

发表于 2011-9-28 19:45 | 显示全部楼层
e2solo 发表于 2011-9-28 19:15
太感謝大大了
"分组框里的选项按钮,就不能和其它选项按钮或分组框重叠(即存在相交的区域)"
就是這句話 ...
  1. Private Sub CommandButton1_Click()
  2.     Dim x As Object
  3.     For Each x In ActiveSheet.Shapes
  4.         '如果是窗体控件,那么删除
  5.         If x.Type = msoFormControl Then
  6.             x.Delete
  7.         End If
  8.     Next x
  9. End Sub
复制代码
工作簿2.rar (28.66 KB, 下载次数: 6)
回复

使用道具 举报

 楼主| 发表于 2011-9-28 20:46 | 显示全部楼层
感謝 感謝再感謝
謝謝大大
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-4-25 08:38 , Processed in 0.606975 second(s), 11 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表