自动刷新工作表,然后数据透视表?

时间:2018-06-28 17:20:56

标签: excel vba

在通过用户表单输入新条目时,无法刷新特定的列并使我的数据透视表自动更新时,我遇到了麻烦。

我创建了一个用户窗体,该窗体将数据转储到特定的工作表中,该工作表是我创建的某些数据透视表的数据源。当信息传输到工作表中时,数值将被读取为文本,但是我创建了一个模块来将这些值转换为数值格式。问题是我必须在数据源页面上才能进行转换,所以我想知道是否有可能在有人按下“提交”按钮后立即将列和数据透视表自动刷新?

Private Sub CommandButton1_Click()
    MsgBox "Submitted!", 0, "Message"
    Unload ProjectCheckIn

Dim TargetRow As Integer


TargetRow = Sheets("Backend").Range("B3").Value + 1


Sheets("Data").Range("Name").Offset(TargetRow, 0).Value = ComboBox1
Sheets("Data").Range("Name").Offset(TargetRow, 1).Value = ComboBox22
Sheets("Data").Range("Name").Offset(TargetRow, 3).Value = ComboBox2
Sheets("Data").Range("Name").Offset(TargetRow, 7).Value = TextBox1
Sheets("Data").Range("Name").Offset(TargetRow, 8).Value = TextBox2
Sheets("Data").Range("Name").Offset(TargetRow, 2).Value = ComboBox23
Sheets("Data").Range("Name").Offset(TargetRow, 4).Value = ComboBox7
Sheets("Data").Range("Name").Offset(TargetRow, 5).Value = ComboBox12
Sheets("Data").Range("Name").Offset(TargetRow, 6).Value = ComboBox17
End Sub

Private Sub CommandButton2_Click()
Unload ProjectCheckIn
Run ([Numberconversion])
Run ([Numberconversion2])
End Sub

Private Sub Project_Click()

End Sub

Private Sub Label1_Click()

End Sub

Private Sub UserForm_Click()

End Sub

1 个答案:

答案 0 :(得分:0)

您可以尝试在ThisWorkbook.RefreshAll的末尾使用CommandButton1_Click()。 另外,将选择转移到单元格时,您是否尝试过使用CDbl()?例如:

Sheets("Data").Range("Name").Offset(TargetRow, 6).Value = CDbl(ComboBox17.Value)

这可以解决将它们作为文本传递的问题。