Ошибка объекта Excel при запуске макроса - PullRequest
0 голосов
/ 26 февраля 2019

Я пытаюсь создать макрос так, чтобы, если данная ячейка в диапазоне L2: L318 содержит определенное значение, ячейка в столбце H в той же строке изменялась на новую строку.

На данный момент у меня есть то, что кажется чем-то сносным, но я получаю ошибку «Требуется объект» при запуске.Мой код выглядит следующим образом:

Sub Macro2()

Dim rng As Range
Dim cell As Range
Set rng = Worksheet.Range("L2:L318")
Dim i As Integer


For Each cell In rng
    If cell.Value("902.4") Then
    i = i + 1
    Sheet.Cells(8, i).Value = "Text"


    Else
    i = i + 1

    End If

Next cell


End Sub

Признаюсь, у меня нет ни малейшего представления о том, что я делаю, и есть хотя бы умеренный шанс, что мой код - полная чепуха.Может кто-нибудь объяснить мне, что я делаю не так?Буду признателен за любую помощь - я сегодня буквально никогда не касался макросов Excel!

1 Ответ

0 голосов
/ 26 февраля 2019

Это отличное начало!У вас есть несколько вещей, но по большей части вы были не слишком далеко.Имейте в виду, что есть тонна различных способов подойти к этому, но так как вы учитесь, я принял ваш подход и заставил его работать.Посмотрите, приближает ли это вас к тому, что вы ищете:

Sub Macro2()

Dim rng As Range
Dim cell As Range
Set rng = Range("L2:L318")

For Each cell In rng
    If cell.Value = 902.4 Then Cells(cell.Row, 8).Value = "Text"
Next cell

End Sub

Посмотрите, что я написал, и посмотрите, сможете ли вы сделать из этого голову или хвост.Как видите, это не слишком далеко от того, что вы имели, просто немного почистил и исправил синтаксис.

Имейте в виду, этот макрос будет выполняться на текущем активном листе.Если вам нужно, чтобы он работал на определенном листе, вам нужно будет немного лучше квалифицировать ссылку на диапазон ... что-то вроде: Рабочие листы ("имя вашего рабочего листа"). Диапазон ("L2: L318")

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