提问人:JAP3131 提问时间:8/31/2023 最后编辑:IkeJAP3131 更新时间:8/31/2023 访问量:36
急需有关如何在 VBA 上对此进行编码的帮助
badly need help on how to code this on VBA
问:
急需有关如何在 VBA 上对此进行编码的帮助......excel 列 C:借用日期,col E:状态,col F:归还日期。我需要自动填写状态(Out或In)。如果 col C 已填充但 col F 为空,则输出。然后,如果列 F 被填充,它将自动更新为“In”。
我尝试使用 IsEmpty,但当借用的日期值已经填满时,似乎无法链接它。
答:
0赞
Ike
8/31/2023
#1
您可以使用以下公式:
= IF(C2<>"",IF(F2="","Out","In"),"")
如果借用日期 (C) 不为空,则公式检查返回的日期 (F):如果为空,则为“out”,否则为“in”。
VBA 解决方案可能如下所示:
Public Function getStatus(dateBorrowed As Date, dateReturned As Date) As String
If dateBorrowed > 0 Then
If dateReturned > 0 Then
getStatus = "In"
Else
getStatus = "Out"
End If
End If
End Function
你会这样称呼它getStatus(activesheet.range("C2"), activesheet.range("F2"))
评论
0赞
JAP3131
9/5/2023
我试过这些。但没有任何效果。'自动更新 D 列状态的状态 'Private Sub HHRMSdata_Change() 'If dateentry.值 > 1 和 dateentry2。value = null 然后 'range(“d”)。Value = “Out” 'ElseIf dateentry.值 > 1 和 dateentry2。值> 1,然后 'range(“d”)。value = “in” 'else 'range(“d”)。Value = Null 'End If '结束子
0赞
JAP3131
9/5/2023
'公共函数 getStatus(dateentry As Date, dateentry2 As date) As String 'getStatus(HHRMSdata.Range(“C”), HHRMSdata.Range(“F”)) = “D” 'If dateentry > 0 Then ' If dateentry2 > 0 Then ' getStatus = “out” ' else ' getStatus = “in” ' end If 'End If 'End 函数
0赞
JAP3131
9/5/2023
Private Sub HHRMSdata_Change() getStatus(HHRMSdata.Range(“C”), HHRMSdata.Range(“F”)) = “D” If IsEmpty(Range(“C”).value) = false 则 If IsEmpty(Range(“F”)。Value) = False Then getStatus = "Out" Else getStatus = "In" End If End If End Sub
评论