Note: The other languages of the website are Google-translated. Back to English

Hvordan ryddes specificeret celleindhold, hvis værdien af ​​en anden celle ændres i Excel?

Antag, at du vil rydde et interval af specificeret celleindhold, hvis værdien af ​​en anden celle ændres, hvordan kan du gøre det? Dette indlæg viser dig en metode til at løse dette problem.

Ryd specificeret celleindhold, hvis værdien af ​​en anden celle ændres med VBA-kode


Ryd specificeret celleindhold, hvis værdien af ​​en anden celle ændres med VBA-kode

Som vist nedenfor, når værdien i celle A2 ændres, ryddes indholdet i celle C1: C3 automatisk. Gør som følger.

1. I regnearket rydder du celleindholdet baseret på en anden celleændring, højreklik på arkfanen og vælg Vis kode fra genvejsmenuen. Se skærmbillede:

2. I åbningen Microsoft Visual Basic til applikationer vindue, kopier og indsæt under VBA-kode i kodevinduet.

VBA-kode: Ryd specificeret celleindhold, hvis værdien for en anden celle ændres

Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Range("A2")) Is Nothing Then
        Range("C1:C3").ClearContents
    End If
End Sub

Bemærk: I koden er B2 den celle, du vil rydde celleindholdet baseret på, og C1: C3 er det område, du vil rydde indholdet fra. Skift dem, som du har brug for.

3. Tryk på andre + Q taster for at lukke Microsoft Visual Basic til applikationer vindue.

Derefter kan du se indhold i område C1: C3 ryddes automatisk, når værdien i celle A2 ændres som vist nedenstående skærmbillede.


Relaterede artikler:


De bedste Office-produktivitetsværktøjer

Kutools til Excel løser de fleste af dine problemer og øger din produktivitet med 80%

  • Genbruge: Indsæt hurtigt komplekse formler, diagrammer og alt, hvad du har brugt før; Krypter celler med adgangskode Opret postliste og send e-mails ...
  • Super formel bar (let redigere flere linjer med tekst og formel); Læsning Layout (let at læse og redigere et stort antal celler); Indsæt til filtreret rækkevidde...
  • Flet celler / rækker / kolonner uden at miste data; Split celler indhold; Kombiner duplikerede rækker / kolonner... Forhindre duplikerede celler; Sammenlign områder...
  • Vælg Duplicate eller Unique Rækker; Vælg tomme rækker (alle celler er tomme); Super Find og Fuzzy Find i mange arbejdsbøger; Tilfældig valg ...
  • Præcis kopi Flere celler uden at ændre formelreference; Auto Opret referencer til flere ark; Indsæt kugler, Afkrydsningsfelter og mere ...
  • Uddrag tekst, Tilføj tekst, Fjern efter position, Fjern mellemrum; Opret og udskriv personsøgningssubtotaler; Konverter mellem celler indhold og kommentarer...
  • Superfilter (gem og anvend filterskemaer på andre ark); Avanceret sortering efter måned / uge / dag, hyppighed og mere; Specielt filter af fed, kursiv ...
  • Kombiner arbejdsbøger og arbejdsark; Fletabeller baseret på nøglekolonner; Opdel data i flere ark; Batch Konverter xls, xlsx og PDF...
  • Mere end 300 kraftfulde funktioner. Understøtter Office / Excel 2007-2021 og 365. Understøtter alle sprog. Nem implementering i din virksomhed eller organisation. Fuld funktioner 30-dages gratis prøveperiode. 60 dages pengene tilbage garanti.
kte-fane 201905

Fanen Office bringer en grænseflade til et kontor med Office, og gør dit arbejde meget lettere

  • Aktiver redigering og læsning af faner i Word, Excel, PowerPoint, Publisher, Access, Visio og Project.
  • Åbn og opret flere dokumenter i nye faner i det samme vindue snarere end i nye vinduer.
  • Øger din produktivitet med 50 % og reducerer hundredvis af museklik for dig hver dag!
officetab bund
Sorter kommentarer efter
Kommentarer (37)
Ingen vurderinger endnu. Vær den første til at bedømme!
Denne kommentar blev minimeret af moderatoren på webstedet
Koden til at rydde en celle, hvis en anden ændrer sig, fungerer godt!!!! Men jeg har brug for det til at virke den anden vej rundt..... Hvordan er den kode skrevet??


Tak for din hjælp
Denne kommentar blev minimeret af moderatoren på webstedet
Kære Scott,
Hvad mener du med at arbejde den anden vej rundt? Når man manuelt rydder indholdet af visse celler (C1:C3), så rydder indholdet af celle A2 automatisk?
Denne kommentar blev minimeret af moderatoren på webstedet
hej, dette virker kun for en fast kildecelle (A2), hvordan fungerer dette dynamisk, såsom kilden er en variabel celle? jeg prøvede at skrive
A=aktivcelle.række
Hvis ikke skærer (mål, rækkevidde("A"& A)) er ingenting så
Range("C1:C3"). ClearContents
End If

dette burde gøre arbejdet med hensyn til activecell (dvs. udvælgelse), men det virker ikke
tak
Denne kommentar blev minimeret af moderatoren på webstedet
Good Day,
Prøv venligst nedenstående VBA-kode. Tak for din kommentar.

Privat Sub Worksheet_Change (ByVal Target As Range)
Hvis (Ikke skærer (Mål, Rækker(1)) Er Intet) Og (Target.Count = 1) Så
Range("C1:C3"). ClearContents
End If
End Sub
Denne kommentar blev minimeret af moderatoren på webstedet
Hej, jeg leder efter en måde at rydde en række celler af data på, når der indtastes et "x" i en bestemt celle. Jeg brugte ovenstående formel, og det fungerede perfekt til den ene række. Problemet er, at jeg skal udvide det ned til mange rækker. For eksempel, hvis et "x" er indtastet i "D13", skal området J:13 - v:13 slettes. Jeg har også brug for, at det sker, hvis der indtastes et x i "D14", som i Jeg har brug for, at området d:14 - v:14 ryddes. Er der en måde at skrive det på? Tak for din hjælp!
Denne kommentar blev minimeret af moderatoren på webstedet
Hej det virker ikke for mig. Intet ændrer sig, men heller ingen fejl. Nogle tips?
Denne kommentar blev minimeret af moderatoren på webstedet
God dag,
Beklager ulejligheden. Vil du give din Office-version? Tak for din kommentar.
Denne kommentar blev minimeret af moderatoren på webstedet
I tilfælde af A2, hvordan refererer jeg til en celle fra et andet regneark?
Denne kommentar blev minimeret af moderatoren på webstedet
nogen måde at gøre dette uden VBA?
Denne kommentar blev minimeret af moderatoren på webstedet
Hej Sonia,
Fandt ingen løsning undtagen VBA. Tak for din kommentar.
Denne kommentar blev minimeret af moderatoren på webstedet
Hvilken VBA-kode bruger jeg, hvis jeg har en tabel og har brug for flere tomme felter?

Mit bord er B3:E7. Hvis indholdet i kolonne B er ryddet, vil jeg gerne have dataene i kolonne C, D, E ryddet for den række. Jeg har nedenstående til række 3, men vil gerne have det samme i række 4,5,6 og 7.

Privat Sub Worksheet_Change (ByVal Target As Range)
Hvis ikke skærer (mål, rækkevidde("B3")) er ingenting så
Range("C3:E3"). ClearContents
End If
End Sub
Denne kommentar blev minimeret af moderatoren på webstedet
Hvad med en til bare at rydde indholdet af en celle på et dobbeltklik?
Denne kommentar blev minimeret af moderatoren på webstedet
Hej, hvordan gentager du koden for mere end én celle i eksemplet, dvs. hvis jeg sletter indholdet af celler a4 & a5, vil jeg rydde indholdet af henholdsvis b4:z4 & b5:z5, jeg skal gøre dette for et stort regneark med 1000 rækker vil ethvert råd blive meget værdsat
Denne kommentar blev minimeret af moderatoren på webstedet
Hej Julian, jeg leder også efter det samme, lad mig det vide, hvis du har en løsning til dette.
Denne kommentar blev minimeret af moderatoren på webstedet
Ændr venligst tallene i overensstemmelse hermed
Dim i As Integer
Privat Sub Worksheet_Change (ByVal Target As Range)
For i = 2 til 10
lookrange = "A" & i
contentrange = "B" & i & ":" & "C" & i
Hvis ikke skærer (mål, rækkevidde(lookrange)) er ingenting så
Range(contentrange).ClearContents
End If
Næste jeg
End Sub
Denne kommentar blev minimeret af moderatoren på webstedet
Hej sagarsrinivas0312, Mange tak for denne kode. Jeg søger allerede en uge efter denne løsning!
Denne kommentar blev minimeret af moderatoren på webstedet
Det er fantastisk, tak. Hvordan gør jeg dette flere gange...så rydder andre celler baseret på en anden kolonne?
Denne kommentar blev minimeret af moderatoren på webstedet
riusciresti a scrivermelo in modo che debba solo billetpris copia ed incolla?
non riesco veramente a farlo funzionare

grazie mille
Denne kommentar blev minimeret af moderatoren på webstedet
Hej,
Jeg forsøger at rydde ekstra celler i kolonne A og B, hvis du finder tomme celler i kolonne C på ark med navnet "Solgt", og makroen kører fra ark med navnet "Faktura".

Jeg fik nedenstående kode fra et hjælpested, men jeg kan ikke få det ønskede.
venligst hjælp mig med det. Skærmbillede vedhæftet hvad jeg vil have.

Sum Clear()

Dim g As Long
For g = 2 Til ActiveSheet.UsedRange.Rows.Count
Hvis Cells(g, "C").Value = "" Så
Celler(g, "A"). ClearContents
Celler(g, "B"). ClearContents

End If
Næste
Slutsum
Denne kommentar blev minimeret af moderatoren på webstedet
Dette ser ikke ud til at virke, hvis det angivne celleindhold styres af en celle på et andet ark? er der en rettelse til dette?
Eksempel ved at bruge dine cellenavne
Hvis celle "A2" er (=ark1[@[a5]], og dette tal ændres på ark 1, ændres indholdet af A2, slettes ikke indholdet i det specificerede område.
Denne kommentar blev minimeret af moderatoren på webstedet
Private Sub Worksheet_Activate()
If Range("S2") <> Range("A2").Værdi derefter
Range("S2") = Range("A2").Værdi
Range("d2:g2"). ClearContents
End If
'S2' kan erstattes med enhver celle uden for dataområdet. Det, VBA'en gør, er at automatisk opdatere dataene for 'S2', så er de data, der opdateres, det, der styrer dit angivne område, og om det bliver slettet eller ej.
Dette er den eneste måde, jeg har fundet til at gøre dette, når jeg bruger refererede celler både i og uden for regnearket.
Denne kommentar blev minimeret af moderatoren på webstedet
Ikke helt, hvad jeg har brug for, men at komme dertil. Jeg har en tom celle E3. Jeg har data i B3. Når jeg lægger data ind i E3, hvis det er det samme som B3, bliver B3 slettet. Håber du kan hjælpe mig.
Denne kommentar blev minimeret af moderatoren på webstedet
Er det muligt at rydde specificeret celleindhold, hvis triggercellen indeholder et bestemt nummer? Sig, HVIS celle A1 = 1, så rydder cellerne A2:A4?
Denne kommentar blev minimeret af moderatoren på webstedet
Hej alle,

Besoin d'aide, j'ai besoin d'effacer le contenu d'une cellule de la colonne "I" si la cellule (de la même ligne) de la colonne "O" =0, sur environ 2000 lignes avec des titres tout le 10 lignes omegn.
Denne kommentar blev minimeret af moderatoren på webstedet
Hej,

Bare på udkig efter en nem måde at gøre det sådan, at hvis "B2" har valgt "Ja" fra datavalideringslisten, ville celle B3 rydde dets data... og omvendt: Hvis "B3" har valgt "Ja" fra datavalideringsliste, ville celle "B2" rydde dets data.

I bund og grund B2 or B3 kan sige "Ja"(fra datavalideringslisten) men aldrig på samme tid, den ene skal klare den anden.
Denne kommentar blev minimeret af moderatoren på webstedet
Hej Jeff,
Følgende VBA-kode kan gøre dig en tjeneste. Prøv det.
Private Sub Worksheet_Change(ByVal Target As Range)
'Updated by Extendoffice 20220721
If Target.Cells.Count > 1 Then Exit Sub
    If (Not Intersect(Target, Range("B2")) Is Nothing) And (Target.Value = "Yes") Then
        Range("B3").ClearContents
        Else
        If (Not Intersect(Target, Range("B3")) Is Nothing) And (Target.Value = "Yes") Then
        Range("B2").ClearContents
    End If
    End If
End Sub
Denne kommentar blev minimeret af moderatoren på webstedet
Buongiorno, avrei bisogno di cancellare una serie di caselle (un rettangolo, quindi su più righe e colonne) i base al valore di un'altra cella. es: se la cella A2 è inferiore di 12, il quadrato con vertici opposto C2 : F4 venga cancellato.
Tusind tak
Denne kommentar blev minimeret af moderatoren på webstedet
Hej Pietro,
Beklager, jeg forstår ikke helt dit spørgsmål. Har du noget imod at uploade et skærmbillede af dine data?
Denne kommentar blev minimeret af moderatoren på webstedet
Помогите с решением, VBA не знаю. Мне нужно при изменении ячейки удалить данные из другой и чтобы это дейстовало весь столбец.
Меняю А2 удаляется из G2, меняю А3 удаляется из G3, меняю A6 удаляется из G6 og т.д.

Privat Sub Worksheet_Change (ByVal Target As Range)
Hvis ikke skærer (mål, rækkevidde("A2")) er ingenting så
Range("G2"). ClearContents
End If
End Sub


Данный код хорош для одной ячейки, а как его размножить на все ячейки столбца?
Denne kommentar blev minimeret af moderatoren på webstedet
Hej Наталья,
Følgende VBA-kode kan hjælpe dig med at løse problemet. Prøv det.

Private Sub Worksheet_Change(ByVal Target As Range)
'Updated by Extendoffice 20221013
    Dim xRight As Range
    Dim KeyCells As Range
    Set KeyCells = Range("A:A")
    Set xRight = Target.Offset(0, 6)
    If Not Application.Intersect(KeyCells, Range(Target.Address)) Is Nothing Then
        xRight.ClearContents
    End If
End Sub
Denne kommentar blev minimeret af moderatoren på webstedet
Hej,

Zu Punkt 3.
Die Taste "Andere" Finde ich nicht auf meiner Windows Tastatur. Ich Habe Strg, Alt, Tab... allerdings die Taste Other gibt es auf meiner Tastatur leider nicht.

Lieben Gruß Mathias
Denne kommentar blev minimeret af moderatoren på webstedet
Hej Mathias,
Hvis du ikke kan finde den tilsvarende tast på tastaturet. Du kan bare klikke på Gem knappen i Vinduet Microsoft Visual Basic Applications for at gemme koden og derefter manuelt lukke dette vindue.
Denne kommentar blev minimeret af moderatoren på webstedet
Hej,
Koden nedenfor fungerer som annonceret, men følgende problemer opstår:

For det første, når størrelsen på den målrettede tabel ændres, ryddes alle tabeldata OG, alle undtagen kolonne 1-overskrifter bliver ommærket til "Kolonne1, Kolonne2 osv. OG projektmappen gemmer sig selv automatisk og slår fortrydelsen af.

For det andet, når jeg sletter en tabelrække, får jeg en "Run-time error 1004 (Method Offset of Object Range failed.


Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Range("F3:F500")) Is Nothing Then
     Target.Offset(0, 1).ClearContents
    ElseIf Not Intersect(Target, Range("G3:G500")) Is Nothing Then
        Target.Offset(0, 1).ClearContents
        Target.Offset(0, 2).ClearContents
    ElseIf Not Intersect(Target, Range("H3:H500")) Is Nothing Then
        Target.Offset(0, 1).ClearContents
    End If
End Sub


Nogen ide om hvad der kan være galt?

Tak på forhånd!
Denne kommentar blev minimeret af moderatoren på webstedet
Hej, du er en base på data på OFFICE ONLINE på ONEDRIVE, men som PONER "CANCELADO" eller "NOSHOW" eliminerer indholdet af fila seleccionada.
Denne kommentar blev minimeret af moderatoren på webstedet
Hej engel,
VBA-koden virker ikke i Office Online. Beklager ulejligheden.
Der er endnu ingen kommentarer her
Load More
Efterlad dine kommentarer
Sender som gæst
×
Bedøm dette indlæg:
0   Tegn
Foreslåede steder

Følg os

Copyright © 2009 - www.extendoffice.com. | Alle rettigheder forbeholdes. Drevet af ExtendOffice. | | Sitemap
Microsoft og Office-logoet er varemærker eller registrerede varemærker tilhørende Microsoft Corporation i USA og / eller andre lande.
Beskyttet af Sectigo SSL