工具 - Office - VBA - 窗口启动后还可以操作工作表

白玉_昼下がりの池に集う白玉_昼下がりの池に集う_115454328_p0

VBA 窗口启动后还可以操作工作表

问题情景

使用宏时,通过窗口输入,用鼠标在工作表内选中区域,进行匹配字符的上色问题,窗口开启时,鼠标不能操作工作表。

解决方法

窗体启动时,默认为窗体模式,此时不能操作工作表,只有结束窗体,才能操作。因此,不要直接启动窗体,使用宏内模块来开启窗口(以无窗体模式启动窗口,类似弹窗的效果和概念,此时窗口启动后还可以操作工作表):

Sub a()
	' 有窗体模式
	'UserForm1.Show (1)
	' 无窗体模式
	UserForm1.Show (0)
End Sub

单元格内部分字符更改字体颜色突出显示

新建一个窗体,增加一个按钮,并增加输入框和标签,标签作为回显,添加如下代码:

Private Sub CommandButton1_Click()
	getStr = TextBox1.Text
	Label1.Caption = getStr
End Sub

在工作表区域内增加:

Public getStr As String
Sub Worksheet_SelectionChange(ByVal Target As Range)
    Dim rng As Range, i As Integer
    Dim T As String
    Dim C As Integer
    T = UserForm1.TextBox1.Text
    If T = "" Then
    Else
        For Each rng In Selection
        C = 3   'C是颜色,通过设定不同的值,代表对应的颜色
        i = 1
            Do While InStr(i, rng, T) > 0
            rng.Characters(InStr(i, rng, T), Len(T)).Font.ColorIndex = C
            i = InStr(i, rng, T) + 1
            Loop
        Next
    End If
End Sub

其他

同问题参考连接:

https://blog.csdn.net/Chiyuen/article/details/129304433

https://answers.microsoft.com/zh-hans/msoffice/forum/all/%E5%9C%A8vba%E4%B8%AD%E8%BF%90%E8%A1%8C%E7%94%A8/6e9672fe-e690-4718-a8b2-eee50941db6a

https://zhuanlan.zhihu.com/p/408515274

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值