HelloWorld_Hi6 2024-08-01 19:32 采纳率: 73.3%
浏览 13
已结题

VBA,按钮的字变了

VBA,sheet里面有command button和option button,我只是给command按钮里面增加了一些对当前sheet里的某些行进行按需(按照user选择的option button进行隐藏行)对excel的行的隐藏或者按需取消隐藏的操作,然后某一时刻就突然发现activex控件的command按钮和option button上显示的文字间距看起来变宽了。不知道是分散对齐了还是字间距变宽了,反正是不正常了。点击按钮功能还可以实现,就是按钮上的字看起来不对了。按钮上的全角汉字之间会有间距,全是半角字符之间没有间距,不知道怎么恢复。由于用户切换optionbutton会触发click事件,现在是触发事件是msgbox弹出后没点击OK按钮之前不会看到optionbutton切换(显示同时两个optionbutton被选中),点击完msgbox的OK按钮之后就会变成一个optionbutton被选中,为了解决这个问题,我在optionbutton的单击触发事件的代码里加了三句Doevents,不知道这个对button上的字间距是否有影响,而且发现加一句Doevents不起作用。

  • 写回答

1条回答 默认 最新

  • Dennis Liwq 2024-08-02 13:48
    关注

    尝试以下操作:
    1.在VBA中设置控件的字体属性,确保所有ActiveX控件使用相同的字体和字号

       CommandButton1.Font.Name = "Arial"
       CommandButton1.Font.Size = 10
    
    

    2.使用Application.EnableEvents, 避免事件重复触发,在代码中临时禁用事件处理:

        Private Sub OptionButton1_Click()
           Application.EnableEvents = False
           ' your code
           Application.EnableEvents = True
        End Sub
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 8月22日
  • 已采纳回答 8月14日
  • 创建了问题 8月1日