Excel VBA 单元格满足一定条件时,停止运行并计数!

请问,A1单元格输入=randbetween(0,10),A2单元格输入=randbetween(0,10),A3单元格输入=and(A1>A2),A3的结果为TRUE或... 请问,A1单元格输入=randbetween(0,10), A2单元格输入 =randbetween(0,10), A3 单元格输入 =and(A1>A2), A3的结果为TRUE或者是False。通常只能通过手工操作,比如删除一列,输入数据才能触发A1和A2的数据发生变化。现在想达到以下效果,能过VBA 自动使A1,A2单元格发生变化,且要求A3单元格在出现第N次TRUE时,A1,A2停止变化,并且记录下当A3单元格出现N次TRUE时,A1,A2同时运行了多少次,希望大侠帮忙! 展开
 我来答
chenjiawei5000
2014-01-09 · TA获得超过2776个赞
知道大有可为答主
回答量:2585
采纳率:30%
帮助的人:2018万
展开全部

明白你的意思,但是你这样的设计可能会出问题。——可能

因为你实际上是利用了excel的自动重算功能,用vba触发自动重算。

excel自动重算功能可能跟不上vba的节奏。

Sub MyCal()
Dim i As Long, p As Long
Do While i < 10
    Application.Calculate
    p = p + 1
    If [A3] = True Then i = i + 1
Loop
MsgBox "计算了 " & p & " 次"
End Sub
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
aqua516
2014-01-09 · 超过34用户采纳过TA的回答
知道答主
回答量:83
采纳率:0%
帮助的人:80.6万
展开全部
Sub 判断符合条件的随机次数()
Dim i&, j&
i = 0: j = 0
Do
    [a1].Value = "=randbetween(0,10)"
    [a2].Value = "=randbetween(0,10)"
    j = j + 1
    If [a1].Value > [a2].Value Then
        i = i + 1
    End If
Loop Until i = 10 '在此设定符合判断条件的次数,这里暂时设定为10次
[A3].Value = "随机" & j & "次," & "A1>A2的情况出现" & i & "次"
End Sub
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式