使用选择/大小写从某个单元格中选择正确的日期,减去另一个单元格中列出的月份,然后输出到某个行,列

时间:2018-11-16 16:27:29

标签: excel vba

我正在尝试使用Select / Case,如果第6列活动行与某个数字匹配,那么它将转到某个具有m / dd / yyyy格式日期的单元格,并减去以数字格式Column列出的月数活动行的第8行,并将其放入活动行的第9列。

问题在读取列6的值并进行到S.Cells(E,9)= p4-S.Cells(E,8)之后。在Phase4 = S.Cells(2,13)上抛出不匹配错误。

在此先感谢您,如果我没有正确解释,请告诉我:)

这是布局的屏幕截图。

enter image description here

Dim E As Integer
Dim Phase1 As Integer
Dim Phase2 As Integer
Dim Phase3 As Integer
Dim Phase4 As Integer
Dim Phase5 As Integer
Dim Phase6 As Integer
Dim Phase7 As Integer
Dim Phase8 As Integer
Dim p1 As Date
Dim p2 As Date
Dim p3 As Date
Dim p4 As Date
Dim p5 As Date
Dim p6 As Date
Dim p7 As Date
Dim p8 As Date
''
E = 2
Set S = Worksheets(ActiveSheet.Name)
''
'''''''''''''''''''''TUM CALCULATION'''''''''''''''''''''''
             Phase1 = S.Cells(2, 10)
             Phase2 = S.Cells(2, 11)
             Phase3 = S.Cells(2, 12)
             Phase4 = S.Cells(2, 13)
             Phase5 = S.Cells(2, 14)
             Phase6 = S.Cells(2, 15)
             Phase7 = S.Cells(2, 16)
             Phase8 = S.Cells(2, 17)
             '''''''''''''''''''''''
             p1 = DateValue(Phase1)
             p2 = DateValue(Phase2)
             p3 = DateValue(Phase3)
             p4 = DateValue(Phase4)
             p5 = DateValue(Phase5)
             p6 = DateValue(Phase6)
             p7 = DateValue(Phase7)
             p8 = DateValue(Phase8)
             '''''''''''''''''''''''

             Select Case Right(S.Cells(E, 6), 1)
                 Case "1"
                     S.Cells(E, 9) = (p1 - S.Cells(E, 8))
                 Case "2"
                     S.Cells(E, 9) = (p2 - S.Cells(E, 8))
                 Case "3"
                     S.Cells(E, 9) = (p3 - S.Cells(E, 8))
                 Case "4"
                     S.Cells(E, 9) = (p4 - S.Cells(E, 8))
                 Case "5"
                     S.Cells(E, 9) = (p5 - S.Cells(E, 8))
                 Case "6"
                     S.Cells(E, 9) = (p6 - S.Cells(E, 8))
                 Case "7"
                     S.Cells(E, 9) = (p7 - S.Cells(E, 8))
                 Case "8"
                     S.Cells(E, 9) = (p8 - S.Cells(E, 8))
             End Select

0 个答案:

没有答案