Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel VBA用户表单列表框:如何使用选定项值作为日期变量?_Excel_Vba_Date_Userform - Fatal编程技术网

Excel VBA用户表单列表框:如何使用选定项值作为日期变量?

Excel VBA用户表单列表框:如何使用选定项值作为日期变量?,excel,vba,date,userform,Excel,Vba,Date,Userform,我遇到了一个障碍,试图找出是否可以使用我的数据输入表单上列表框中的数据作为开始日期的变量 在阅读和测试之后,我设法让代码在当前日期之前分别更新下一个月度和年度检查 问题是如何使用表中的现有数据或列表框中的选择来更新已存在的当前值 我有一个带有更新、编辑和删除按钮的用户表单。表单上有两个带有选项的组合框和两个复选框,一个用于10%支票(每月)和100%支票(每年) 当选择要编辑的行时,表单会正确填充,但当我分别选择10%或100%时,日期会有点错误。如果我同时选择这两个选项,它们将正确填充并在相应

我遇到了一个障碍,试图找出是否可以使用我的数据输入表单上列表框中的数据作为开始日期的变量

在阅读和测试之后,我设法让代码在当前日期之前分别更新下一个月度和年度检查

问题是如何使用表中的现有数据或列表框中的选择来更新已存在的当前值

我有一个带有更新、编辑和删除按钮的用户表单。表单上有两个带有选项的组合框和两个复选框,一个用于10%支票(每月)和100%支票(每年)

当选择要编辑的行时,表单会正确填充,但当我分别选择10%或100%时,日期会有点错误。如果我同时选择这两个选项,它们将正确填充并在相应列中正确发布日期,但比今天的日期提前一个月和一年。(我将todays date设置为变量)

我需要根据这些列中的现有数据或列表框中的选择为日期定义一个变量。我正在努力找出如何做到这一点

Dim dte_today As Date
dte_today = Cells(2, 7).Value

Dim Sel_Date As Date
'Sel_Date = ''' How to use existing value in cell or list box as the date variable ?? ''


Dim Month_dte As Date
'Month_dte = DateAdd("M", 1, ) ''' How to use exisitng value in cell or list box as the date 
variable ?? ''

If Weekday(Month_dte, vbMonday) = 6 Then
Month_dte = DateAdd("d", 2, Month_dte)

ElseIf Weekday(Month_dte, vbMonday) = 7 Then
Month_dte = DateAdd("d", 1, Month_dte)

End If

Dim Year_dte As Date
Year_dte = DateAdd("YYYY", 1, ) '''How to use existing value in cell or list box as the date Variable ?? '

If Weekday(Year_dte, vbMonday) = 6 Then
Year_dte = DateAdd("d", 2, Year_dte)

ElseIf Weekday(Month_dte, vbMonday) = 7 Then
Year_dte = DateAdd("d", 1, Year_dte)

End If


With sh
   .Cells(iRow, 1) = iRow - 1
   .Cells(iRow, 2) = Frm_F102s.Cmbobx_BookNo.Value
   .Cells(iRow, 3) = Frm_F102s.Cmbobx_NodeNo.Value

   .Cells(iRow, 4) = IIf(Frm_F102s.Chkbx_10.Value = True, Month_dte, Frm_F102s.Lstbx_F102.Value) '' 
 How to leave cell unchanged if blank? ''

   .Cells(iRow, 5) = IIf(Frm_F102s.Chkbx_100.Value = True, Year_dte, Frm_F102s.Lstbx_F102.Value) '' 
How to leave cell unchanged if blank? ''

End With

End Sub