1. 首页 > 科技

excel自动重算至限定值,VBA怎么编? vba打开指定excel文件

excel自动重算至限定值,VBA怎么编?vba打开指定excel文件

Excel里引用VBA的自定义函数,如何自动重新计算?

在自定义函数代码前加一行

application.volatile

易失标记

excel VBA函数的自动重算如何如何控制(我会重算,请各位大侠看清问题)

在代码中加入

Calculate

这一句,即可

excel窗体内输入上下限自动生成数据-写个VBA代码

给你个以前做的,在选定范围内生成指定区间的随机数。

先选定范围,然后点按钮

以你的截图

确定按钮

Private Sub CommandButton1_Click()

    Dim rn As Range, a%, b%

    a = TextBox1.Value

    b = TextBox2.Value

    For Each rn In range("d4:g12")

    rn.Value = (Rnd() * (b - a) + a)

    rn.NumberFormatLocal = "0.000"

    Next

    Unload Me

End Sub

取消按钮

Private Sub CommandButton2_Click()

    Unload Me

End Sub

excel自动重算的问题

如果我理解对了你的意思,请用下面的代码。

你A列有些数据不是公式=INT(RAND()*2)产生的,直接输入的就是1(按F9不变)。比如A17是手动输入的1,则点A22时x由5变为6;如果A16和A17是都是手动输入的1,则点A22时x由5变为7。

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

On Error GoTo Line1

If Target.Column = 1 Then

Application.ScreenUpdating = False

Dim x As Integer

x = 5   '请自己改为你想要的值

If x >= Target.Row Then

MsgBox "输入的值大于n,无解", vbOKOnly, "No"

Else

Do While Target.Offset(-x, 0).Formula = 1

x = x + 1

Loop

Do

Calculate

Loop Until Cells(Target.Row - x, 1) = 0 And WorksheetFunction.Sum(Range(Cells(Target.Row - x + 1, 1), Cells(Target.Row, 1))) = x

End If

End If

Line1: Application.ScreenUpdating = True

End Sub