So übertragen Sie bestimmte Daten von einem Blatt in ein anderes über VBA in Microsoft Excel

Inhaltsverzeichnis

In diesem Artikel verwenden wir das Änderungsereignis des Arbeitsblatts, um Daten abhängig von einer bestimmten Bedingung von einem Blatt in ein anderes zu übertragen.

Rohdaten bestehen aus Kundendetails, die Name, Straße, Stadt, Region, Land und Telefonnummer umfassen.

In diesem Artikel möchten wir Daten derjenigen Kunden übertragen, die für ein bestimmtes Angebot nicht in Frage kommen. Die letzte Spalte enthält als Wert „Nicht“, wenn ein Kunde für ein bestimmtes Angebot nicht berechtigt ist. Wir möchten diese "nicht berechtigten" Kunden in das Blatt "NotEligibleData" kopieren.

Codeerklärung

Wenn Target.Column = 7 Then

Der obige Code wird verwendet, um das Änderungsereignis des Arbeitsblatts so zu beschränken, dass es nur ausgeführt wird, wenn der Wert in 7 istNS Spalte wird geändert.

Sheets("NotEligibleData").Range("A2:I600").ClearContents

Der obige Code wird verwendet, um den Wert aus dem Bereich A2:I600 . zu löschen

Sheets("Main").Cells(i, "G").EntireRow.Copy Destination:=Sheets("NotEligibleData").Range("A" & Rows.Count).End(xlUp).Offset(1)

Der obige Code wird verwendet, um nicht berechtigte Kunden in das Blatt "NotEligibleData" zu kopieren.

Bitte folgen Sie unten für den Code

 Private Sub Worksheet_Change(ByVal Target As Range) 'Variablen deklarieren Dim i, Lastrow As Long 'Code ausführen, wenn der Wert in der siebten Spalte geändert wird If Target.Column = 7 Then 'Zeilennummer der letzten Zelle abrufen Lastrow = Sheets("Main" ).Range("A" & Rows.Count).End(xlUp).Row 'Löschen aller vorherigen Daten aus dem "NotEligibleData"-Blatt Sheets("NotEligibleData").Range("A2:I600").ClearContents 'Looping vom Zehntel Zeile zur letzten Zeile For i = 10 To Lastrow 'Wenn der Wert in der Spalte G der Zeile "Nicht" ist, dann kopieren Sie die Zeile in das Zielblatt 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 

Wenn Ihnen dieser Blog gefallen hat, teilen Sie ihn mit Ihren Freunden auf Facebook. Außerdem können Sie uns auf Twitter und Facebook folgen.

Wir würden uns freuen, von Ihnen zu hören, lassen Sie uns wissen, wie wir unsere Arbeit verbessern und für Sie verbessern können. Schreiben Sie uns auf der E-Mail-Site

Sie werden die Entwicklung der Website helfen, die Seite mit Ihren Freunden teilen

wave wave wave wave wave