以编程方式按Excel进入Excel VBA

时间:2017-01-18 13:07:56

标签: excel vba excel-vba

一旦将值设置为特定单元格,我尝试以编程方式按Enter键:

Private Sub TextBox1_Change()
    If TextBox1.Text = "ALC Test" Then
        Range("$F$2").Value = "17"
        ActiveWorkbook.RefreshAll
    End If
    If TextBox1.Text = "ALC Prod" Then
        Range("$F$2").Value = "54"
        ActiveWorkbook.RefreshAll
    End If
    If TextBox1.Text = "" Then
        Range("$F$2").Value = ""
        ActiveWorkbook.RefreshAll
    End If
End Sub

这样我就可以在excel中触发刷新表 但这并不能使缝合工作正常

enter image description here

2 个答案:

答案 0 :(得分:2)

使用sendkeys是正确的。

如果您只想重新计算(刷新)表数据,可以执行以下操作:

Private Sub TextBox1_Change()

If TextBox1.Text = "ALC Test" Then
        Range("$F$2").Value = "17"
        Range("$F$2").Select
        Application.SendKeys("~")

在您的情况下,您需要在输入命令发送到Excel之前选择单元格(包含参数)。

答案 1 :(得分:0)

您要做的是:更改值,然后按"输入" ,这没有效果。

使用

calculate

activesheet.calculate

编辑以表明:

Private Sub TextBox1_Change()
If TextBox1.Text = "ALC Test" Then
    Range("$F$2").Value = "17"
    calculate