excel vba工作日功能

时间:2018-05-18 13:12:12

标签: excel vba excel-vba

我是VBA世界的新手。我最近遇到了关于application.worksheetfunction.workday的一个愚蠢的问题。

我做了一些研究,所有人都建议使用“application.workday”或“application.worksheetfunction.workday”而不是“worksheet.workday”。但它们都不适合我。

这是我的编码,我想根据在其他文本框中输入的值自动填充用户表单中的文本框。

If xDateValidation(xTran.Text) = True Then
    xTran.Text = Format(xTran.Text, "dd/mm/yyyy")
    Debug.Print Format(Application.WorksheetFunction.WorkDay(xTran.Text, 2), "dd/mm/yyyy")
    xSettlement.Text = Format(Application.WorksheetFunction.WorkDay(xTran.Text, 2), "dd/mm/yyyy")
Else
    xTran.Text = ""
End If

我的编码返回以下错误消息。当我将“Application.WorksheetFunction.WorkDay”替换为“WorksheetFunction.WorkDay”时,也会出现此错误消息。 Error Message on WorksheetFunction.WorkDay

如果我将我的代码更改为“Application.WorkDay”,则会出现以下消息。 Error Message on Application.WorkDay

有人可以帮我解决一下吗?如果我的编码或设置有问题吗?

1 个答案:

答案 0 :(得分:0)

您可以更改所有代码以将xTran作为日期处理并在其上执行WorkDay函数,或者只是更改代码以将字符串转换回日期作为其一部分,如下所示:

xSettlement.Text = Format(Application.WorksheetFunction.WorkDay(DateValue(xTran.Text), 2), "dd/mm/yyyy")