Я получаю сообщение об ошибке «438»: объект не поддерживает это свойство или метод

Обратите внимание, что дескрипторы () не работают для стиля записи номеров Великобритании, которые являются общими: +44 (0) 1234 567890, что означает набирать международный номер: +441234567890 или на британском циферблате 01234567890

0
задан Ahmed Abdelhameed 24 March 2019 в 19:27
поделиться

2 ответа

Использование:

        Sheet2.Range("F25") = Sheets("Resolution").Cells(x, 1)
        Sheet2.Range("G25") = Sheets("Resolution").Cells(x, 2)
        Sheet2.Range("H25") = Sheets("Resolution").Cells(x, 3)
0
ответ дан Gary's Student 24 March 2019 в 19:27
поделиться

Есть несколько проблем с вашим кодом. Помимо проблемы Cell и Cell s , существует прямое сравнение одной ячейки с несколькими ячейками в диапазоне, а также счетчик неиспользованных смещений.

A С помощью ... End With блок может уменьшить код и повторяющиеся обращения к справочному листу.

Option Explicit

Sub searchdata()

    Dim lastrow As Long, x As Long, count As Long

    WITH Sheets("Resolution")

        lastrow = .Cells(.Rows.count, 1).End(xlUp).Row
        count = 0

        For x = 2 To lastrow
            'the next line will continue if the value in Resolution
            'is found within Sheet2.Range("$C2:$c92")
            If NOT ISERROR(APPLICATION.MATCH(.Cells(x, 1), Sheet2.Range("$C2:$c92"), 0)) Then
                Sheet2.Range("F25").OFFSET(count, 0) = .CellS(x, 1)
                Sheet2.Range("G25").OFFSET(count, 0) = .CellS(x, 2)
                Sheet2.Range("H25").OFFSET(count, 0) = .CellS(x, 3)
                count = count + 1
            End If
        Next x

    END WITH

end sub
0
ответ дан user11246173 24 March 2019 в 19:27
поделиться
Другие вопросы по тегам:

Похожие вопросы: