我一直在遇到这个问题。我有一个命令按钮,用于更新某个单元格的值,但是当您单击该按钮时,该值不会更新。如果您随后单击工作表中的其他单元格,那么该值最终会更新。我的代码如下所示:
Private Sub eight_Click()
Dim oldnum As String
If numset = False Then
oldnum = Range("F4").Value
Range("F4").Value = oldnum + "8"
Else
num1 = CLng(Range("F4").Value)
Range("F4").Value = "8"
numset = False
End If
End Sub
在Excel for Mac上,这种情况100%发生在我身上,偶尔会出现在Excel 2010 for Windows上。
答案 0 :(得分:0)
让我们说:您有一个调用用户窗体(frmCalendar)的按钮(btnCalendarInvoke) 并且此用户窗体具有日期选择器(dtPicker)。
现在,如果我知道您想单击excel表单上的按钮(调用该表单),请从那里的日期选择器中选择日期,然后希望所选的日期自动反映在Excel单元格中。
这是您可以做的:
第1步-从项目资源管理器中打开Userform的代码窗口,并在General范围下创建Public Variable。
http://localhost:8181/style.css
第2步-现在,在UserForm代码中创建一个Public Sub来设置此变量,如下所示。
Public rangeName as String
第3步-创建代码以处理日期选择器更改事件,如下所示。
Public Sub SetDestinationRangeName(rngName as String)
rangeName = rngName
End Sub
第4步-转到Excel工作表并编写代码来处理按钮单击事件。如下所示。
Private Sub dtSelect_Change()
Worksheets("Scorecard").Range(rangeName).value = Format(Me.dtSelect, "Short Date").Value
Unload Me
End Sub
第5步-现在对其进行测试。单击出现日历表单按钮,从日期选择器中选择日期,它会自动关闭并更新Excel工作表。您无需按照此方法报告的那样对单元格进行额外的点击。