Hur man överför specifik data från ett ark till ett annat via VBA i Microsoft Excel

Innehållsförteckning

I den här artikeln kommer vi att använda ändringshändelse för kalkylblad för att överföra data från ett blad till ett annat, beroende på ett visst tillstånd.

Rådata består av kundinformation, inklusive namn, gatuadress, stad, region, land och telefonnummer.

I den här artikeln vill vi överföra data om de kunder som inte är berättigade till ett visst erbjudande. Den sista kolumnen innehåller "Inte" som värde om en kund inte är berättigad till ett visst erbjudande. Vi vill kopiera de "inte kvalificerade" kunderna till "NotEligibleData" -arket.

Kodförklaring

Om Target.Column = 7 Då

Ovanstående kod används för att begränsa ändringshändelsen i kalkylbladet så att det bara kan köras när värdet i 7th kolumnen ändras.

Kalkylark ("NotEligibleData"). Område ("A2: I600"). ClearContents

Ovanstående kod används för att radera värdet från intervall A2: I600

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

Ovanstående kod används för att kopiera icke-kvalificerade kunder till "NotEligibleData" -arket.

Följ koden nedan

 Private Sub Worksheet_Change (ByVal Target As Range) 'Declaring variables Dim i, Lastrow As Long' Kör kod om värdet i sjunde kolumnen ändras Om Target.Column = 7 Sedan 'Hämtar radnumret för sista cellen Lastrow = Sheets ("Main" ) .Range ("A" & Rows.Count) .End (xlUp) .Row 'Radera tidigare data från "NotEligibleData" -ark ("NotEligibleData"). Range ("A2: I600"). ClearContents' loop från tionde rad till sista rad För i = 10 Till Lastrow 'Om värdet i G -kolumnen i raden är "Inte" kopierar du raden till destinationsarket If Sheets ("Main"). Celler (i, "G"). Value = " Inte "Then Sheets (" Main "). Celler (i," G "). EntireRow.Copy Destination: = Sheets (" NotEligibleData "). Range (" A "& Rows.Count) .End (xlUp) .Offset ( 1) End If Next i End If Range ("A1"). Välj End Sub 

Om du gillade den här bloggen, dela den med dina vänner på Facebook. Du kan också följa oss på Twitter och Facebook.

Vi vill gärna höra från dig, låt oss veta hur vi kan förbättra vårt arbete och göra det bättre för dig. Skriv till oss på e -postwebbplatsen

Du kommer att bidra till utvecklingen av webbplatsen, dela sidan med dina vänner

wave wave wave wave wave