EXCEL 如c8:p8中有任何一个内容为“有X箱错误" X是不固定的数。就让电脑发出急促的声音VBA怎么写

EXCEL 如c8:p8中有任何一个内容为“有X箱错误" X是不固定的数。就让电脑发出急促的声音VBA怎么写,第1张

其实这个根本不需要用vba做为什么要用声音提示呢

设置一个条件格式,当出现"有箱错误时",单元格颜色变成红色填充,不是一下子就看出来了吗

而且,用vba,只能放在change事件中,这样每移动一下选定单元格,就会导致程序执行一次,会影响使用效率的

在工作表代码区写上以下事件代码即可:

Private Sub Worksheet_Change(ByVal Target As Range)

If TargetAddress = "$A$1" Then

   If Target < 1 Then Beep

End If

End Sub

主要内容:

一、使用UBound,LBound。代替固定行列数

举例1:

dim s(5)UBound(s)=5,LBound(s)=0

dim s(2 to 5,3 to 7)UBouund(s,1)=5,UBound(s,2)=7;LBund(s,1)=2

二、结构化程序互相调用

举例2:

Sub 结构化函数调用()

    Dim ws As Worksheet

    For Each ws In Worksheets

        wsCells(1, 1) = redCount(wsUsedRange)

    Next ws

End Sub

Function redCount(r As Range)

    Dim a As Long, r1 As Range

    For Each r1 In r

        If r1FontColor = vbRed Then

            a = a + r1Value   

        End If

    Next r1

    redCount = a

End Function

提示1:定义一个fuction redCount的子函数,主程序调用函数。这样结构清晰。

提示2:主程序接收一个Range类型的变作为参数,然后扫描每一个单元格,将其中红色数字汇总返回。

举例:3

Function mySum(r As Range)

    Dim a&, b&, c&, d&

    d = 0

    For a = rRow To rRow + rRowsCount - 1

        c = 1

        For b = rColumn To rColumn + rColumnsCount - 1

            c = c Cells(a, b)

        Next b

        d = d + c

    Next a

    mySum = d

End Function

提示1:用&代替aslong ,用符号声明变量,见第三回

提示2:求和的变量初始化为0,但求乘积的变量初始化要为1

三、Range对象的转化文本属性

1RangehasFormula属性

当该Range为一个单元格时,若是公式则返回True,否则返回False

2RangeFormula属性

当该Range为一个单元格时,若是公式则返回公式文本,否则与Value属性一样,返回单元格的内容。

3属性应用,仅粘贴格式

举例4:

Sub 仅粘贴格式()

    Dim w As Worksheet, r As Range

        For Each w In Worksheets

            For Each r In wUsedRange

                rValue = rValue

            Next r

        Next w

举例5:     

End Sub

Sub 仅粘贴格式()

    Dim w As Worksheet

        For Each w In Worksheets

            wUsedRangeValue = wUsedRangeValue

        Next w

End Sub

提示1:举例5为举例4的简化版本,该程序可以作为固定的子程序,用来将最终结果转化为仅保留数值或文本。

提示2:Formula和Value属性都可以将单元格的内容设置为公式。

cells(2,3)Formula="=252"

cells(2,3)Value="'Sheet3'!C2+10"

以上两个表达方式效果相同。

一、直接调用或者call 过程名 call 函数名就可以了,比如

Private Sub CommandButton1_Click()

MsgBox "你调用了CommandButton1_Click过程"

End Sub

Private Sub CommandButton2_Click()

Call CommandButton1_Click

End Sub

二、如果有参数的话需要带上参数,比如

Private Sub CommandButton1_Click()

Call MsgStr("这是过程/函数调用示例")

End Sub

Sub MsgStr(str As String)

MsgBox str

End Sub

扩展资料:

输入值的集合X被称为f的定义域;可能的输出值的集合Y被称为f的值域。函数的值域是指定义域中全部元素通过映射f得到的实际输出值的集合。注意,把对应域称作值域是不正确的,函数的值域是函数的对应域的子集。

计算机科学中,参数和返回值的数据类型分别确定了子程序的定义域和对应域。因此定义域和对应域是函数一开始就确定的强制进行约束。另一方面,值域是和实际的实现有关。

参考资料来源:百度百科-函数

以上就是关于EXCEL 如c8:p8中有任何一个内容为“有X箱错误" X是不固定的数。就让电脑发出急促的声音VBA怎么写全部的内容,包括:EXCEL 如c8:p8中有任何一个内容为“有X箱错误" X是不固定的数。就让电脑发出急促的声音VBA怎么写、EXCEL单元格A1小于1自动声音报警,求VBA代码、全民一起VBA提高篇-第十五回等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/10628082.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-10
下一篇2023-05-10

发表评论

登录后才能评论

评论列表(0条)

    保存