Основываясь на числовом значении в одном столбце, я хочу ввести другое значение в другом столбце - PullRequest
0 голосов
/ 12 июня 2018

Я хочу написать код для просмотра чисел в столбце AD и вернуть значение на основе числового значения в столбце AG.Инструкция доступа к базе данных и код, который я написал, возвращает ошибку ниже.Очень ценю любую помощь.

IIf([Days between File Date and CA Due Date]<30,"5",IIf(Eval([Days between File Date and CA Due Date] Between 31 And 60),"4",IIf(Eval([Days between File Date and CA Due Date] Between 61 And 90),"3",IIf(Eval([Days between File Date and CA Due Date] Between 91 And 150),"2",IIf([Days between File Date and CA Due Date]>151,"1","0")))))

Sub DayScore()
Dim LastRow As Long
    Dim i As Long
    LastRow = Range("AD" & Rows.Count).End(xlUp).Row
    For i = 2 To LastRow
        If Range("AD" & i).Value >= "30" Then
            Range("AG" & i).Value = "5"
        End If
    Next i
End Sub

1 Ответ

0 голосов
/ 12 июня 2018

Try,

Sub DayScore()
    Dim i As Long

    with worksheets("sheet1")
        For i = 2 To .cells(.rows.count, "AD").End(xlUp).Row
            If isnumeric(.cells(i, "AD").Value2) And Not IsEmpty(.Cells(i, "AD")) Then
                 .cells(i, "AG") = 5 + int(.cells(i, "AD").Value2 >30) _
                                     + int(.cells(i, "AD").Value2 >60) _
                                     + int(.cells(i, "AD").Value2 >90) _
                                     + int(.cells(i, "AD").Value2 >150)
            else
                .cells(i, "AG") = 0
            End If
        Next i
    end with
End Sub

VBA True при математическом использовании - -1.

Считается, что «рекомендуется» сохранять числа как истинные числа (например, 5)а не числа, выглядящие как текст (например, "5").

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...