Excel-запущенный макрос - PullRequest
2 голосов
/ 14 мая 2009

Я изо всех сил стараюсь сделать следующее. Любая помощь будет принята с благодарностью.

Марко относится только к одному листу Excel.

У меня есть 50 строк информации, 11 столбцов в ширину (A - K) в каждом ряду столбца A находится условие IF Если условие IF помечает слово «ОК» Я хотел бы, чтобы макрос срабатывал, и выполнял следующее скопировать информацию в ячейках от B до K и вставить ее обратно в эти ячейки.

А затем перейти к следующему ряду

50 строк информации будут заполняться в течение дня.

Каждое условие ROW в столбце A выполняется только ОДИН РАЗ, начиная с ROW 1 и вплоть до 50 50

.

Придет триггерное событие «ОК», просто нужно дождаться, пока оно произойдет.

Как я уже сказал, любая помощь будет принята с благодарностью

Ответы [ 2 ]

2 голосов
/ 14 мая 2009

На этой странице показано, как настроить макрос для запуска при изменении ячейки.
По сути, метод состоит в том, чтобы чрезмерно использовать функцию изменения рабочего листа, и если ячейка является правильной, вы позволяете этой функции работать.

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

2 голосов
/ 14 мая 2009

Используйте событие Изменить листа, посмотрите, находится ли цель в столбце А. Если это проверка, чтобы увидеть, равно ли это «ОК», то выполните макрос в этой строке.

Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Cells.Count > 1 Then Exit Sub

On Error Resume Next
Dim TestRange As Range
Set TestRange = Target.Dependents

If TestRange.HasFormula And Err.Number = 0 Then
    If Left$(TestRange.Address, 2) = "$A" Then
        Application.EnableEvents = False

        If TestRange.Value = "OK" Then
            Call GreatMacro(TestRange)
        End If

        Application.EnableEvents = True
    End If
End If

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