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

Hoe de gespecificeerde celinhoud wissen als de waarde van een andere cel in Excel verandert?

Stel dat u een reeks gespecificeerde celinhoud wilt wissen als de waarde van een andere cel wordt gewijzigd, hoe kunt u dat dan doen? Dit bericht laat je een methode zien om dit probleem op te lossen.

Wis de gespecificeerde celinhoud als de waarde van een andere cel verandert met VBA-code


Wis de gespecificeerde celinhoud als de waarde van een andere cel verandert met VBA-code

Zoals onderstaand screenshot laat zien, wordt de inhoud in cel C2: C1 automatisch gewist wanneer de waarde in cel A3 wordt gewijzigd. Ga als volgt te werk.

1. In het werkblad wist u de celinhoud op basis van andere celwijzigingen, klik met de rechtermuisknop op de bladtab en selecteer Bekijk code vanuit het contextmenu. Zie screenshot:

2. In de opening Microsoft Visual Basic voor toepassingen venster, kopieer en plak onder VBA-code in het codevenster.

VBA-code: wis de gespecificeerde celinhoud als de waarde van een andere cel verandert

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

Opmerking:: In de code is B2 de cel waarvan u de celinhoud wilt wissen, en C1: C3 is het bereik waaruit u de inhoud wilt wissen. Wijzig ze indien nodig.

3. druk de anders + Q toetsen om de Microsoft Visual Basic voor toepassingen venster.

Vervolgens kunt u de inhoud in bereik C1 zien: C3 wordt automatisch gewist wanneer de waarde in cel A2 verandert, zoals onderstaand screenshot.


Gerelateerde artikelen:


De beste tools voor kantoorproductiviteit

Kutools voor Excel lost de meeste van uw problemen op en verhoogt uw productiviteit met 80%

  • visfuik: Snel invoegen complexe formules, grafieken en alles wat je eerder hebt gebruikt; Versleutel cellen met wachtwoord; Maak een mailinglijst en stuur e-mails ...
  • Super Formula-balk (bewerk eenvoudig meerdere regels tekst en formule); Lay-out lezen (gemakkelijk grote aantallen cellen lezen en bewerken); Plakken in gefilterd bereik...
  • Voeg cellen / rijen / kolommen samen zonder gegevens te verliezen; Gespleten cellen inhoud; Combineer dubbele rijen / kolommen... Voorkom dubbele cellen; Vergelijk Ranges...
  • Selecteer Dupliceren of Uniek Rijen; Selecteer lege rijen (alle cellen zijn leeg); Super zoeken en fuzzy zoeken in veel werkboeken; Willekeurige selectie ...
  • Exacte kopie Meerdere cellen zonder de formuleverwijzing te wijzigen; Maak automatisch verwijzingen naar meerdere bladen; Plaats kogels, Selectievakjes en meer ...
  • Extraheer tekst, Tekst toevoegen, Verwijderen op positie, Ruimte verwijderen; Paging-subtotalen maken en afdrukken; Converteren tussen celinhoud en opmerkingen...
  • Super filter (bewaar en pas filterschema's toe op andere bladen); Geavanceerd sorteren per maand / week / dag, frequentie en meer; Speciaal filter door vet, cursief ...
  • Combineer werkmappen en werkbladen; Tabellen samenvoegen op basis van sleutelkolommen; Gegevens splitsen in meerdere bladen; Batch Converteer xls, xlsx en PDF...
  • Meer dan 300 krachtige functies. Ondersteunt Office / Excel 2007-2021 en 365. Ondersteunt alle talen. Eenvoudig te implementeren in uw onderneming of organisatie. Volledige functies Gratis proefperiode van 30 dagen. 60 dagen geld-terug-garantie.
kte tabblad 201905

Office-tabblad Brengt een interface met tabbladen naar Office en maakt uw werk veel gemakkelijker

  • Schakel bewerken en lezen met tabbladen in Word, Excel, PowerPoint in, Publisher, Access, Visio en Project.
  • Open en maak meerdere documenten in nieuwe tabbladen van hetzelfde venster in plaats van in nieuwe vensters.
  • Verhoogt uw productiviteit met 50% en vermindert honderden muisklikken voor u elke dag!
officetab onderkant
Heb je vragen? Stel ze hier. (38)
Nog geen beoordelingen. Beoordeel als eerste!
Deze opmerking is gemaakt door de moderator op de site
De code om een ​​cel te wissen als een andere verandert werkt geweldig!!!! Maar ik heb het nodig om andersom te werken..... Hoe wordt die code geschreven??


Bedankt voor uw hulp
Deze opmerking is gemaakt door de moderator op de site
Beste Scott,
Hoe bedoel je andersom werken? Wanneer de inhoud van bepaalde cellen handmatig wordt gewist (C1:C3), wordt de inhoud van cel A2 automatisch gewist?
Deze opmerking is gemaakt door de moderator op de site
hallo, dit werkt alleen voor een vaste broncel (A2), hoe kan dit dynamisch, omdat de bron een variabele cel is? ik probeerde te schrijven
A=actieve cel.rij
Als niet snijden (doel, bereik ("A" & A)) is niets dan
Bereik ("C1:C3").ClearContents
End If

dit zou het werk moeten doen met betrekking tot activecell (dwz selectie) maar werkt niet
bedankt
Deze opmerking is gemaakt door de moderator op de site
Good Day,
Probeer de onderstaande VBA-code eens. Bedankt voor je reactie.

Particulier subwerkblad_Wijziging (ByVal-doel als bereik)
If (Not Intersect(Target, Rows(1)) Is Nothing) en (Target.Count = 1) Dan
Bereik ("C1:C3").ClearContents
End If
End Sub
Deze opmerking is gemaakt door de moderator op de site
Hallo, ik ben op zoek naar een manier om een ​​reeks gegevenscellen te wissen wanneer een "x" in een bepaalde cel wordt ingevoerd. Ik gebruikte de bovenstaande formule en het werkte perfect voor die ene rij. Het probleem is dat ik het moet uitbreiden tot vele rijen. Als er bijvoorbeeld een "x" wordt ingevoerd in "D13", moet het bereik J:13 - v:13 worden gewist. Ik wil ook dat dit gebeurt als een x wordt ingevoerd in "D14", omdat ik het bereik d:14 - v:14 moet wissen. Is er een manier om dat te schrijven? Bedankt voor je hulp!
Deze opmerking is gemaakt door de moderator op de site
Hallo, dit werkt niet voor de mijne. Er verandert niets, maar ook geen fouten. Enige tips?
Deze opmerking is gemaakt door de moderator op de site
Goede dag,
Excuses voor het ongemak. Zou u uw Office-versie willen verstrekken? Bedankt voor je reactie.
Deze opmerking is gemaakt door de moderator op de site
Hoe verwijs ik in het geval van A2 naar een cel vanuit een ander werkblad?
Deze opmerking is gemaakt door de moderator op de site
een manier om dit te doen zonder VBA?
Deze opmerking is gemaakt door de moderator op de site
Hallo Sonia,
Geen oplossing gevonden behalve voor VBA. Bedankt voor je reactie.
Deze opmerking is gemaakt door de moderator op de site
Welke VBA-code gebruik ik als ik een tabel heb en meerdere spaties nodig heb?

Mijn tabel is B3:E7. Als de inhoud in kolom B is gewist, zou ik graag de gegevens in kolom C, D, E voor die rij willen wissen. Ik heb het onderstaande voor rij 3, maar zou hetzelfde willen in rij 4,5,6 en 7.

Particulier subwerkblad_Wijziging (ByVal-doel als bereik)
Als niet snijden (doel, bereik ("B3")) is niets dan
Bereik ("C3:E3").ClearContents
End If
End Sub
Deze opmerking is gemaakt door de moderator op de site
Hoe zit het met een om gewoon de inhoud van een cel op een dubbelklik te wissen?
Deze opmerking is gemaakt door de moderator op de site
Hallo, hoe herhaal je de code voor meer dan één cel in het voorbeeld, dat wil zeggen als ik de inhoud van cellen a4 en a5 verwijder, wil ik de inhoud van respectievelijk b4:z4 & b5:z5 wissen, ik moet dit doen voor een grote spreadsheet met 1000 rijen wordt elk advies zeer op prijs gesteld
Deze opmerking is gemaakt door de moderator op de site
Hallo Julian, ik ben ook op zoek naar hetzelfde, laat het me weten als je hier een oplossing voor hebt.
Deze opmerking is gemaakt door de moderator op de site
Wijzig de nummers dienovereenkomstig
Dim ik als geheel getal
Particulier subwerkblad_Wijziging (ByVal-doel als bereik)
Voor i = 2 Om 10
lookrange = "A" & i
contentrange = "B" & i & ":" & "C" & i
Als niet snijden (doel, bereik (lookrange)) is niets dan
Bereik (inhoudsbereik).ClearContents
End If
Volgende i
End Sub
Deze opmerking is gemaakt door de moderator op de site
Hallo sagarsrinivas0312, Heel erg bedankt voor deze code. Ik ben al een week aan het zoeken naar deze oplossing!
Deze opmerking is gemaakt door de moderator op de site
Dit is geweldig, bedankt. Hoe doe ik dit meerdere keren ... dus wis andere cellen op basis van een andere kolom?
Deze opmerking is gemaakt door de moderator op de site
riusciresti een scrivermelo in modo che debba solo fare copia ed incolla?
niet riesco veramente a farlo funzionare

heel hartelijk bedankt
Deze opmerking is gemaakt door de moderator op de site
Hoi,
probeer extra cellen van kolom A en B te wissen als lege cellen in kolom C van het blad met de naam "Verkocht" worden gevonden en de macro wordt uitgevoerd vanaf het blad met de naam "Factuur".

Ik heb onderstaande code gekregen van een helpende site, maar kan mijn gewenste niet krijgen.
help me alsjeblieft erover. Screenshot bijgevoegd wat ik wil.

Som Wissen()

Dim g zo lang
Voor g = 2 Naar ActiveSheet.UsedRange.Rows.Count
Als Cellen (g, "C"). Waarde = "" Dan
Cellen (g, "A").ClearContents
Cellen (g, "B").ClearContents

End If
Volgende
Eindsom
Deze opmerking is gemaakt door de moderator op de site
Dit lijkt niet te werken als de opgegeven celinhoud wordt beheerd door een cel op een ander blad? is hier een oplossing voor?
Voorbeeld met uw celnamen
Als cel "A2" (=blad1[@[a5]] is en dit nummer verandert op blad 1, dan verandert de inhoud van A2 en wordt de inhoud in het gespecificeerde bereik niet gewist.
Deze opmerking is gemaakt door de moderator op de site
Privé subwerkblad_Activate()
Als Bereik ("S2") <> Bereik ("A2"). Waarde Dan
Bereik ("S2") = Bereik ("A2"). Waarde
Bereik ("d2:g2").ClearContents
End If
'S2' kan worden vervangen door elke cel buiten het gegevensbereik. Wat de VBA doet, is het automatisch bijwerken van de gegevens voor 'S2'. De gegevens die worden bijgewerkt, bepalen het door u opgegeven bereik en of het al dan niet wordt gewist.
Dit is de enige manier die ik heb gevonden om dit met succes te doen bij het gebruik van cellen waarnaar wordt verwezen, zowel binnen als buiten het werkblad.
Deze opmerking is gemaakt door de moderator op de site
Niet helemaal wat ik nodig heb, maar om er te komen. Ik heb een lege cel E3. Ik heb gegevens in B3. Als ik gegevens in E3 plaats, als het hetzelfde is als B3, wordt B3 verwijderd. Ik hoop dat je me kunt helpen.
Deze opmerking is gemaakt door de moderator op de site
Is het mogelijk om de gespecificeerde celinhoud te wissen als de triggercel een specifiek nummer bevat? Zeg, ALS cel A1 = 1, wis dan Cellen A2:A4?
Deze opmerking is gemaakt door de moderator op de site
Hallo iedereen,

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 omgeving 2000 lignes avec des titres tout le 10 lignes omgeving.
Deze opmerking is gemaakt door de moderator op de site
Hallo,

Gewoon op zoek naar een gemakkelijke manier om het zo te maken dat als "B2" "Ja" heeft geselecteerd in de gegevensvalidatielijst, cel B3 zijn gegevens zou wissen ... en omgekeerd: als "B3" "Ja" heeft geselecteerd uit de gegevensvalidatielijst, cel "B2" zou zijn gegevens wissen.

Eigenlijk B2 or B3 kan zeggen "Ja"(uit de gegevensvalidatielijst) maar nooit tegelijkertijd, de een moet de ander opruimen.
Deze opmerking is gemaakt door de moderator op de site
Hallo Jeff,
De volgende VBA-code kan u een plezier doen. Probeer het alsjeblieft.
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
Deze opmerking is gemaakt door de moderator op de site
Buongiorno, avrei bisogno di cancellare una serie di caselle (un rettangolo, quindi su più righe e colonne) in de basis al valore di un'altra cella. es: se la cella A2 è inferiore di 12, il quadrato con verticale opposto C2 : F4 venga cancellato.
Heel hartelijk bedankt
Deze opmerking is gemaakt door de moderator op de site
Hallo Pietro,
Sorry, ik begrijp je vraag niet helemaal. Vind je het erg om een ​​screenshot van je gegevens te uploaden?
Deze opmerking is gemaakt door de moderator op de site
омогите с решением, VBA е аю. е нужно и изменении ейки удалить анные из ой и обы о дейстовало на весь столбец.
еняю А2 удаляется из G2, еняю А3 удаляется из G3, еняю A6 аляется из G6 en т.д.

Particulier subwerkblad_Wijziging (ByVal-doel als bereik)
Als niet snijden (doel, bereik ("A2")) is niets dan
Bereik ("G2").ClearContents
End If
End Sub


анный од хорош одной ейки, а ак его размножить а все ячейки столбца?
Deze opmerking is gemaakt door de moderator op de site
Hallo аталья,
De volgende VBA-code kan u helpen het probleem op te lossen. Probeer het alsjeblieft.

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
Deze opmerking is gemaakt door de moderator op de site
Hallo,

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

Lieben Gruß Mathias
Deze opmerking is gemaakt door de moderator op de site
Hallo, Mathias,
Als u de corresponderende toets niet kunt vinden op het toetsenbord. Je kunt gewoon op de klikken Bespaar knop in de Venster Microsoft Visual Basic-toepassingen om de code op te slaan en dit venster vervolgens handmatig te sluiten.
Deze opmerking is gemaakt door de moderator op de site
Hallo,
De onderstaande code werkt zoals geadverteerd, maar de volgende problemen doen zich voor:

Ten eerste, wanneer het formaat van de doeltabel wordt gewijzigd, worden alle tabelgegevens gewist EN, behalve kolom 1 koppen worden opnieuw gelabeld naar "Kolom1, Kolom2, enz. EN de werkmap slaat zichzelf automatisch op en doodt het ongedaan maken.

Ten tweede krijg ik bij het verwijderen van een tabelrij een "Runtime 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


Enig idee wat er mis kan zijn?

Dank bij voorbaat!
Deze opmerking is gemaakt door de moderator op de site
Hola, we hebben een basis van daten en OFFICE ONLINE gemaakt op ONEDRIVE, die vragen om PONER "CANCELADO" of "NOSHOW" om de selectie van de fila-selectie uit te schakelen.
Deze opmerking is gemaakt door de moderator op de site
Hallo Engel,
De VBA-code werkt niet in Office Online. Excuses voor het ongemak.
Er zijn nog geen reacties geplaatst
Laad meer
Laat uw commentaar
Posten als gast
×
Beoordeel dit bericht:
0   Personages
Voorgestelde locaties

Volg ons

Copyright © 2009 - www.extendoffice.com. | Alle rechten voorbehouden. Aangedreven door ExtendOffice. | Sitemap
Microsoft en het Office-logo zijn handelsmerken of gedeponeerde handelsmerken van Microsoft Corporation in de Verenigde Staten en / of andere landen.
Beschermd door Sectigo SSL