Excel VBA — перенос activerow на другой рабочий лист

#vba #excel

#vba #excel

Вопрос:

Я пытаюсь создать некоторый код, который будет выполняться по списку. Как только он соответствует критериям, он скопирует эту строку в другой краткий лист.

Но по какой-то причине я получаю отладку после того, как она вставляет первую строку в другой лист. Отладка выполняется с помощью функции вставки.

 Sub UpdateSheetsPendingAction()

Sheets("Final_Data").Select

Dim Key As String
Dim SAANumber As String
Dim ReqSent As String
Dim AccOpen As String
Dim Rejected As String
Dim Opener As String
Dim SLADate As String
Dim InputDate As String
Dim PendingCompletion As String
Dim PendingAction As String
Dim Rejection As String
Dim ActRow As Range
Dim Import As Range

Dim CRow As String

For C = 1 To 10000 'Max Number of accounts
    CRow = C   1
        Key = Range("A"   CRow).Value
        SAANumber = Range("B"   CRow).Value
        ReqSent = Range("E"   CRow).Value
        AccOpen = Range("F"   CRow).Value
        Rejected = Range("H"   CRow).Value
        Opener = Range("J"   CRow).Value
        SLADate = Range("M"   CRow).Value
        InputDate = Range("N"   CRow).Value
        PendingCompletion = Range("O"   CRow).Value
        PendingAction = Range("P"   CRow).Value
        Rejection = Range("Q"   CRow).Value
        'Requester = Range("R"   CRow).Value
        'AMREF = Range("S"   CRow).Value


        '''Pending Action
        If PendingAction <> "" Then
        Set ActRow = Range("A"   CRow   ":"   "AZ"   CRow)
        ActRow.Copy
            With Sheets(Opener).Select
            Range("A4").Select
            Rows(ActiveCell.Row).Insert
            Rows(ActiveCell.Row).Paste
            End With
        End If

Next C

End Sub
  

Ответ №1:

Изменить Rows(ActiveCell.Row).Paste

Для:

Rows(ActiveCell.Row).PasteSpecial

Добавить Sheets("Final_Data").Select после вызова вашего For оператора

Комментарии:

1. Это действительно устранило мою ошибку, но код не перешел на следующий C?

2. Пожалуйста, смотрите Пересмотренный ответ. Я добавил Sheets("Final_Data").Select в начало цикла. Ваш цикл не переключается обратно на Final_Data лист. К сожалению, я случайно отредактировал ваш вопрос с изменением тоже! (Если он будет принят, вы его увидите), в противном случае следуйте моему ответу, который я тоже обновил

3. Большое вам спасибо! > _< боже, это было глупо с моей стороны… Ценю помощь.