Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/28.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
使用vba用户窗体时的格式问题_Vba_Excel_Format - Fatal编程技术网

使用vba用户窗体时的格式问题

使用vba用户窗体时的格式问题,vba,excel,format,Vba,Excel,Format,我以前在Excel中做过打孔时钟工作表。打孔时钟的正常功能是当我按下打孔按钮时,宏通过vba inbulid变量time(和date)查找时间(和日期),并将它们放入定义的单元格中。当我打卡下班时也会发生同样的情况,但在这里它还计算每天的工作时间和弹性工作时间的运行平衡 这部分很好用 我最近想扩展我的程序,因此可以通过vba用户表单更改特定日期的时间(打卡或打卡),然后重新计算弹性工作制余额。 可以让userform查找和更改特定日期的时间,但当我尝试重新计算工作时间和弹性工作时间时,会出现格式

我以前在Excel中做过打孔时钟工作表。打孔时钟的正常功能是当我按下打孔按钮时,宏通过vba inbulid变量time(和date)查找时间(和日期),并将它们放入定义的单元格中。当我打卡下班时也会发生同样的情况,但在这里它还计算每天的工作时间和弹性工作时间的运行平衡

这部分很好用

我最近想扩展我的程序,因此可以通过vba用户表单更改特定日期的时间(打卡或打卡),然后重新计算弹性工作制余额。 可以让userform查找和更改特定日期的时间,但当我尝试重新计算工作时间和弹性工作时间时,会出现格式缺失匹配错误。在调试中,我将鼠标悬停在变量上,可以看到更改的单元格格式为hh:mm:ss,但现有单元格格式为十进制数字,即使它们在工作表中显示为时间

如何使格式相似

Private Sub cmdOK_Click()
Dim w1 As Worksheet
Set w1 = Sheets("Aktuel måned")

numofDateRows = w1.Range("I1").Offset(w1.Rows.Count - 1, 0).End(xlUp).Row 'find last cell with dates


For i = 1 To numofDateRows
    If w1.Range("I" & i) = DTPicker1 Then 'find row with choosen date
        If chbInd.value = True Then 'if punch in time is going to be change
            w1.Range("J" & i) = txbTid 'inserts the new time
            w1.Range("L" & i) = w1.Range("K" & i) - w1.Range("J" & i) + w1.Range("F12").MergeArea.Cells(1, 1) 'recaculate working hours
            w1.Range("M" & i) = w1.Range("L" & i) + w1.Range("M" & (i - 1)) - w1.Range("F14") 'recalculate flextime balance
        End If
Next

End Sub

示例:
w1.Range(“I”&I)
DTPicker1
txbTid
要开始,您需要eloborate,您需要什么?我需要这些数据
w1.Range(“I”&I)
DTPicker1
txbTid
在代码中断时存储。w1.Range(“I”&I)和DTPicker1保持在2014年4月1日。txbTid保留“08:00:00”以上是一个示例,当我在DT选择器中选择01-04-2014并输入08:00:00作为新的打孔时间fx时