Как передавать отдельные данные из одного листа на другой через VBA в Microsoft Excel
В этой статье мы будем использовать событие изменения рабочего листа для переноса данных с одного листа на другой в зависимости от определенного условия.
Необработанные данные состоят из сведений о клиенте, которые включают имя, адрес, город, регион, страну и номер телефона.
В этой статье мы хотим передать данные тех клиентов, которые не имеют права на то или иное предложение. В последнем столбце указано значение «Не», если покупатель не имеет права на конкретное предложение. Мы хотим скопировать этих «неприемлемых» клиентов на лист «NotElhibitedData».
Объяснение кода
Если Target.Column = 7 Then Приведенный выше код используется для ограничения выполнения события изменения рабочего листа только при изменении значения в столбце 7 ^ th ^.
Таблицы («NotElhibitedData»). Диапазон («A2: I600»). ClearContents Приведенный выше код используется для удаления значения из диапазона A2: I600 Sheets («Main»). Cells (i, «G»). CompleteRow.Copy Назначение: = Листы («NotElhibitedData»). Диапазон («A» & Rows.Count) .End (xlUp) .Offset (1)
Приведенный выше код используется для копирования неподходящих клиентов на лист «NotElhibitedData».
Пожалуйста, введите код ниже
Private Sub Worksheet_Change(ByVal Target As Range) 'Declaring variables Dim i, Lastrow As Long 'Execute code if value in seventh column is changed If Target.Column = 7 Then 'Getting the row number of last cell Lastrow = Sheets("Main").Range("A" & Rows.Count).End(xlUp).Row 'Deleting any previous data from "NotEligibleData" sheet Sheets("NotEligibleData").Range("A2:I600").ClearContents 'Looping from tenth row to last row For i = 10 To Lastrow 'If value in G column of the row is "Not" then copy the row to destination sheet If Sheets("Main").Cells(i, "G").Value = "Not" Then Sheets("Main").Cells(i, "G").EntireRow.Copy Destination:=Sheets("NotEligibleData").Range("A" & Rows.Count).End(xlUp).Offset(1) End If Next i End If Range("A1").Select End Sub
Если вам понравился этот блог, поделитесь им с друзьями на Facebook и Facebook.
Мы будем рады услышать от вас, дайте нам знать, как мы можем улучшить нашу работу и сделать ее лучше для вас. Напишите нам на [email protected]