gpt4 book ai didi

vba - excel vba编译年份函数错误

转载 作者:行者123 更新时间:2023-12-02 10:43:00 25 4
gpt4 key购买 nike

我正在 excel vba 中编写一个 vba 子例程,它汇总了不同年份出售给客户的磅数,由于某种原因,我在 year 函数中遇到了编译错误。有人可以解释为什么吗?这是我的代码:

Private Sub lbsPerCustPerYear_Click()

Dim i As Integer
Dim Cust As String
Dim Cust2 As String
Dim Total As Integer
Dim Output As Range
Dim Output2 As Range
Dim Year1 As Date

Total = 0
Year1 = Range("K6").Value
Cust = Range("C6").Value
Cust2 = Range("C7").Value
Set Output = Sheets("Sheet2").Cells(2, 2)
Set Output2 = Sheets("Sheet2").Cells(2, 3)

For i = 1 To 14750
Year1 = Range("K5").Offset(i, 0).Value
If IsDate(Sheets("Sheet1").Cells(i, 11)) Then
If Cust = Cust2 And Year(Sheets("Sheet1").Cells(i, 11)) = 2012 Then
Total = Range("Q5").Offset(i, 0).Value + Range("Q6").Offset(i, 0).Value
Cust = Range("C5").Offset(i, 0).Value
Cust2 = Range("C6").Offset(i, 0).Value
Output.Value = Cust
Output2.Value = Total

Else
Cust = Range("C5").Offset(i, 0).Value
Cust2 = Range("C6").Offset(i, 0).Value
Year1 = Range("K5").Offset(i, 0).Value
Set Output = Output.Offset(1, 0)
Set Output2 = Output2.Offset(1, 0)

End If

Else
Cust = Range("C5").Offset(i, 0).Value
Cust2 = Range("C6").Offset(i, 0).Value
Year1 = Range("K5").Offset(i, 0).Value
Set Output = Output.Offset(1, 0)
Set Output2 = Output2.Offset(1, 0)

End If
Next i



End Sub

错误在该行中:
If Cust = Cust2 And Year(Sheets("Sheet1").Cells(i, 11).Value) = 2012 Then

提前致谢!

最佳答案

第 11 列中的每个单元格是否包含有效的日期或年份?

你可以先检查一下:

If isdate(Sheets("Sheet1").Cells(i, 11).Value) then

If Cust = Cust2 And Year(Sheets("Sheet1").Cells(i, 11).Value) = 2012 Then

......

end if

else

'handle invalid date

end if

我注意到的另一件事是您使用 Year 作为变量名,将其更改为 dtYear 或其他内容,因为这可能与对象库中的 Year 函数冲突。

关于vba - excel vba编译年份函数错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26428479/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com