Проверка, является ли значение ячейки определенной строкой - PullRequest
1 голос
/ 04 октября 2019

Это сводит меня с ума.

Я хочу проверить, является ли значение ячейки "Да", но не имеет значения, что я пытаюсь сделать, VBA продолжает говорить о несоответствии типов.

Здесь можно действительно помочь.

Вот мой код:

Dim rowcntr As Variant
Dim rowcntr2 As Variant
Dim i As Integer
For i = 1 To rowcntr
    rowcntr2 = WorksheetFunction.CountA(Sheet3.Range("A:A"))
    If sheet10.Range("R1").Offset(i, 14).Find("Yes", sheet10.Range("R1"), xlValues, xlWhole, xlByColumns, xlNext, True) Is Nothing Then
        i = i + 1
    Else
        Sheet3.Range("A1").Offset(rowcntr2, 0) = sheet10.Range("R1").Offset(i, 0)
        Sheet3.Range("A1").Offset(rowcntr2, 1) = sheet10.Range("R1").Offset(i, 1)
        Sheet3.Range("A1").Offset(rowcntr2, 2) = sheet10.Range("R1").Offset(i, 2)
        Sheet3.Range("A1").Offset(rowcntr2, 3) = sheet10.Range("R1").Offset(i, 3)
        Sheet3.Range("A1").Offset(rowcntr2, 4) = sheet10.Range("R1").Offset(i, 5)
    End If
Next i

1 Ответ

0 голосов
/ 04 октября 2019

разобрался сам ...

Dim rowcntr As Variant

Dim rowcntr2 As Variant

Dim i As Integer

Dim j As Variant

rowcntr = WorksheetFunction.CountIf(sheet10.Range("AF:AF"), "<>" & "")

For i = 1 To rowcntr

    rowcntr2 = WorksheetFunction.CountA(Sheet3.Range("A:A"))

    j = CStr(sheet10.Range("R1").Offset(i, 14))

    If j = "Yes" Then

        Sheet3.Range("A1").Offset(rowcntr2, 0) = sheet10.Range("R1").Offset(i, 0)

        Sheet3.Range("A1").Offset(rowcntr2, 1) = sheet10.Range("R1").Offset(i, 1)

        Sheet3.Range("A1").Offset(rowcntr2, 2) = sheet10.Range("R1").Offset(i, 2)

        Sheet3.Range("A1").Offset(rowcntr2, 3) = sheet10.Range("R1").Offset(i, 3)

        Sheet3.Range("A1").Offset(rowcntr2, 4) = sheet10.Range("R1").Offset(i, 5)

    Else

        i = i + 1

    End If

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