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

Hogyan lehet törölni a megadott cellatartalmat, ha egy másik cella értéke megváltozik az Excelben?

Tegyük fel, hogy törölni akarja a megadott cellatartalom tartományát, ha megváltozik egy másik cella értéke, hogyan teheti meg? Ez a bejegyzés megmutatja a probléma megoldásának módszerét.

Törölje a megadott cellatartalmat, ha egy másik cella értéke megváltozik a VBA kóddal


Törölje a megadott cellatartalmat, ha egy másik cella értéke megváltozik a VBA kóddal

Amint az alábbi képernyőképen látható, az A2 cella értékének megváltoztatásakor a C1: C3 cella tartalma automatikusan törlődik. Kérjük, tegye a következőket.

1. A munkalapon kitörli a cella tartalmát egy másik cella változás alapján, kattintson a jobb gombbal a lap fülre, és válassza ki Kód megtekintése a helyi menüből. Lásd a képernyőképet:

2. A nyílásban Microsoft Visual Basic for Applications ablakba, másolja és illessze be a VBA kód alatt a Kód ablakba.

VBA kód: Törölje a megadott cellatartalmat, ha egy másik cella értéke megváltozik

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

Megjegyzések: A kódban a B2 az a cella, amely alapján törli a cellatartalmat, és a C1: C3 az a tartomány, amelyből törli a tartalmat. Kérjük, változtassa meg őket szükség szerint.

3. megnyomni a más + Q gombok a Microsoft Visual Basic for Applications ablak.

Ezután láthatja a C1 tartomány tartalmát: A C3 automatikusan törlődik, amikor az A2 cellában az érték megváltozik, az alábbi képernyőképen.


Kapcsolódó cikkek:


A legjobb irodai termelékenységi eszközök

A Kutools for Excel megoldja a legtöbb problémát, és 80% -kal növeli a termelékenységet

  • újrafelhasználás: Gyorsan helyezze be összetett képletek, diagramok és bármi, amit korábban használt; Cellák titkosítása jelszóval; Levelezőlista létrehozása és e-maileket küldeni ...
  • Szuper Formula Bár (könnyedén szerkeszthet több szöveget és képletet); Olvasás elrendezés (könnyen olvasható és szerkeszthető nagyszámú cella); Beillesztés a Szűrt tartományba...
  • Cellák / sorok / oszlopok egyesítése az adatok elvesztése nélkül; Osztott cellák tartalma; Kombinálja a duplikált sorokat / oszlopokat... megakadályozza az ismétlődő cellákat; Hasonlítsa össze a tartományokat...
  • Válassza a Másolat vagy az Egyedi lehetőséget Sorok; Válassza az Üres sorok lehetőséget (az összes cella üres); Super Find és Fuzzy Find sok munkafüzetben; Véletlenszerű kiválasztás ...
  • Pontos másolás Több cella a képletreferencia megváltoztatása nélkül; Automatikus referenciák létrehozása több lapra; Helyezze be a golyókat, Jelölőnégyzetek és még sok más ...
  • Kivonat szöveg, Szöveg hozzáadása, Eltávolítás pozíció szerint, Hely eltávolítása; Hozz létre és nyomtasson személyhívó részösszegeket; Konvertálás a cellatartalom és a megjegyzések között...
  • Szuper szűrő (mentse el és alkalmazza a szűrősémákat más lapokra); Haladó rendezés hónap / hét / nap, gyakoriság és egyebek szerint; Speciális szűrő félkövér, dőlt betűvel ...
  • Kombinálja a munkafüzeteket és a munkalapokat; Táblázatok egyesítése kulcsoszlopok alapján; Az adatok felosztása több lapra; Kötegelt konvertálás xls, xlsx és PDF...
  • Több mint 300 hatékony funkció. Támogatja az Office / Excel 2007-2021 és 365 verziókat. Minden nyelvet támogat. Könnyű üzembe helyezés vállalatában vagy szervezetében. Teljes funkciók 30 napos ingyenes próbaverzió. 60 napos pénzvisszafizetési garancia.
kte lap 201905

Az Office fül a füles felületet hozza az Office-ba, és sokkal könnyebbé teszi a munkáját

  • Füles szerkesztés és olvasás engedélyezése Wordben, Excelben és PowerPointban, Publisher, Access, Visio és Project.
  • Több dokumentum megnyitása és létrehozása ugyanazon ablak új lapjain, mint új ablakokban.
  • 50% -kal növeli a termelékenységet, és naponta több száz kattintással csökkenti az egér kattintását!
officetab alja
A megjegyzések rendezése szerint
Hozzászólások (38)
Még nincs értékelés. Legyen Ön az első, aki értékel!
A weboldal moderátora ezt a megjegyzést minimalizálta
A kód egy cella törléséhez, ha másik változik, remekül működik!!!! De szükségem van rá, hogy fordítva működjön..... Hogy van megírva ez a kód??


Köszönöm a segítséget
A weboldal moderátora ezt a megjegyzést minimalizálta
Kedves Scott!
Mit értesz az alatt, hogy fordítva dolgozol? Ha manuálisan törli bizonyos cellák tartalmát (C1:C3), akkor automatikusan törli az A2 cella tartalmát?
A weboldal moderátora ezt a megjegyzést minimalizálta
hello, ez csak fix forrású cellánál működik (A2), hogyan lehet ezt dinamikusan, például a forrás változó cellaként kezelni? próbáltam írni
A=aktívcella.sor
Ha nem metszik (cél, tartomány ("A" és A)) akkor semmi
Tartomány("C1:C3").ClearContents
Ha véget

ennek el kell végeznie az aktív cellával kapcsolatos munkát (azaz kiválasztást), de nem működik
köszönöm
A weboldal moderátora ezt a megjegyzést minimalizálta
Good Day,
Kérjük, próbálja ki az alábbi VBA kódot. Köszönjük észrevételét.

Private Sub Worksheet_Change (ByVal Target mint Range)
Ha (nem metszik(cél, sorok(1)) semmi) és (cél.szám = 1) akkor
Tartomány("C1:C3").ClearContents
Ha véget
End Sub
A weboldal moderátora ezt a megjegyzést minimalizálta
Szia! Módot keresek cellák egy tartományának törlésére, ha egy bizonyos cellába "x" van beírva. A fenti képletet használtam, és tökéletesen működött arra az egy sorra. A probléma az, hogy több sorra kell kiterjesztenem. Például, ha "x" van beírva a "D13" mezőbe, akkor a J:13 - v:13 tartományt törölni kell. Szükségem van arra is, hogy ez megtörténjen, ha egy x be van írva a "D14"-be, mivel a d:14 - v:14 tartományt törölni kell. Leírható valahogy? Köszönöm a segítséget!
A weboldal moderátora ezt a megjegyzést minimalizálta
Szia ez az enyémnél nem működik. Semmi nem változik, de semmi hiba. Egyéb ötletek?
A weboldal moderátora ezt a megjegyzést minimalizálta
Jó napot,
Elnézést a kellemetlenségért. Megadná az Office verzióját? Köszönöm a hozzászólásod.
A weboldal moderátora ezt a megjegyzést minimalizálta
A2 esetén hogyan hivatkozhatok egy másik munkalap cellájára?
A weboldal moderátora ezt a megjegyzést minimalizálta
meg lehet ezt csinálni VBA nélkül?
A weboldal moderátora ezt a megjegyzést minimalizálta
Szia Sonia,
A VBA-n kívül nem találtam megoldást. Köszönöm a hozzászólásod.
A weboldal moderátora ezt a megjegyzést minimalizálta
Milyen VBA-kódot használjak, ha van egy táblázatom, és több üres mezőre van szükségem?

Az én asztalom B3:E7. Ha a B oszlop tartalma törlésre kerül, akkor a C, D, E oszlop adatait szeretném törölni az adott sorban. Megvan az alábbi a 3. sorhoz, de ugyanezt szeretném a 4,5,6., 7., XNUMX. és XNUMX. sorban.

Private Sub Worksheet_Change (ByVal Target mint Range)
Ha nem metszik (cél, tartomány ("B3")) akkor semmi
Tartomány("C3:E3").ClearContents
Ha véget
End Sub
A weboldal moderátora ezt a megjegyzést minimalizálta
Mi a helyzet, ha dupla kattintással egyszerűen töröljük bármelyik cella tartalmát?
A weboldal moderátora ezt a megjegyzést minimalizálta
Szia! Hogyan lehet megismételni a kódot több mint egy cellához a példában, azaz ha törlöm az a4 és a5 cellák tartalmát, akkor szeretném törölni a b4:z4 és b5:z5 cellák tartalmát, ezt kell tennem egy nagy, 1000 soros táblázathoz minden tanácsot nagyra értékelünk
A weboldal moderátora ezt a megjegyzést minimalizálta
Szia Julian, én is ugyanezt keresem, kérlek jelezd, ha van valami megoldásod erre.
A weboldal moderátora ezt a megjegyzést minimalizálta
Kérjük, ennek megfelelően változtassa meg a számokat
Dim i As Integer
Private Sub Worksheet_Change (ByVal Target mint Range)
Az i = 2 és 10 közötti értékre
lookrange = "A" & i
tartalomtartomány = "B" & i & ":" & "C" & i
Ha nem metszik(cél, tartomány(nézőtáv)) akkor semmi
Tartomány(contentrange).ClearContents
Ha véget
Következő i
End Sub
A weboldal moderátora ezt a megjegyzést minimalizálta
Szia sagarsrinivas0312! Köszönjük szépen ezt a kódot. Már egy hete keresem ezt a megoldást!
A weboldal moderátora ezt a megjegyzést minimalizálta
Ez nagyszerű, köszönöm. Hogyan tudom ezt többször megtenni... hogy töröljem a többi cellát egy másik oszlop alapján?
A weboldal moderátora ezt a megjegyzést minimalizálta
riusciresti a scrivermelo in modo che debba solo fare copia ed incolla?
non riesco veramente a farlo funzionare

grazie mille
A weboldal moderátora ezt a megjegyzést minimalizálta
Szia,
Megpróbálom törölni az A és B oszlop extra celláit, ha üres cellákat talál az „Eladva” lap C oszlopában, és a makró a „Számla” nevű munkalapról fut.

Kaptam az alábbi kódot egy segítő oldalról, de nem értem a kívántat.
kérlek segíts ebben. Screenshot csatolva amit szeretnék.

Összeg törlése()

Dim g As Long
Ha g = 2 To ActiveSheet.UsedRange.Rows.Count
Ha Cells(g, "C").Érték = "" Akkor
Cells(g, "A").ClearContents
Cells(g, "B").ClearContents

Ha véget
Következő
Végösszeg
A weboldal moderátora ezt a megjegyzést minimalizálta
Úgy tűnik, hogy ez nem működik, ha a megadott cella tartalmát egy másik munkalapon lévő cella szabályozza? van erre valami megoldás?
Példa a cellanevek használatára
Ha az "A2" cella értéke (=lap1[@[a5]], és ez a szám megváltozik az 1. lapon, majd megváltoztatja az A2 tartalmát, akkor nem törli a megadott tartományban lévő tartalmat.
A weboldal moderátora ezt a megjegyzést minimalizálta
Privát almunkalap_Activate()
If Range("S2") <> Range("A2").Érték Akkor
Tartomány("S2") = Tartomány("A2").Érték
Tartomány("d2:g2").ClearContents
Ha véget
Az „S2” bármely adattartományon kívüli cellával helyettesíthető. A VBA automatikusan frissíti az „S2” adatait, majd a frissítés alatt álló adatok szabályozzák a megadott tartományt, és hogy törlődnek-e vagy sem.
Ez az egyetlen módja annak, hogy ezt sikeresen megtehessem, amikor hivatkozott cellákat használunk a munkalapon és azon kívül is.
A weboldal moderátora ezt a megjegyzést minimalizálta
Nem egészen az, amire szükségem van, de eljutok oda. Van egy üres E3 cellám. Vannak adataim a B3-ban. Amikor adatokat teszek az E3-ba, és ha megegyezik a B3-mal, akkor a B3 törlődik. Remélem tud segíteni.
A weboldal moderátora ezt a megjegyzést minimalizálta
Lehetséges a megadott cellatartalom törlése, ha az indítócella meghatározott számot tartalmaz? Tegyük fel, HA A1 cella = 1, akkor törölje az A2:A4 cellákat?
A weboldal moderátora ezt a megjegyzést minimalizálta
Hello mindenkinek,

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 környékén.
A weboldal moderátora ezt a megjegyzést minimalizálta
Helló,

Csak egy egyszerű módot keresek arra, hogy ha "B2" az "Igen" lehetőséget választotta az adatellenőrzési listából, a B3 cella törli az adatokat... és fordítva: Ha a "B3" az "Igen" lehetőséget választotta a adatérvényesítési lista, a "B2" cella törli az adatait.

Alapvetően B2 or B3 tud mondani "Igen"(az adatérvényesítési listáról), de soha nem egyszerre, egyiknek meg kell tisztítania a másikat.
A weboldal moderátora ezt a megjegyzést minimalizálta
Szia Jeff,
A következő VBA-kód tehet egy szívességet. Kérjük, próbálja ki.
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
A weboldal moderátora ezt a megjegyzést minimalizálta
Buongiorno, avrei bisogno di cancellare una serie di caselle (un rettangolo, quindi su più righe e colonne) in base al valore di un'altra cella. es: se la cella A2 è inferiore di 12, il quadrato con vertici opposto C2 : F4 venga cancellato.
Grazie mille
A weboldal moderátora ezt a megjegyzést minimalizálta
Szia Pietro,
Bocsánat, nem egészen értem a kérdésedet. Nem bánja, ha feltölt egy képernyőképet az adatairól?
A weboldal moderátora ezt a megjegyzést minimalizálta
Помогите с решением, VBA не знаю. Мне нужно при изменении ячейки удалить данные из другой и чтобы это дейстовало на весь столбец.
Меняю А2 удаляется из G2, меняю А3 удаляется из G3, меняю A6 удаляется из G6 из т.д.

Private Sub Worksheet_Change (ByVal Target mint Range)
Ha nem metszik(cél, tartomány("A2")) akkor semmi
Tartomány("G2").ClearContents
Ha véget
End Sub


Данный код хорош для одной ячейки, а как его размножить на все ячейки столбца?
A weboldal moderátora ezt a megjegyzést minimalizálta
Szia Наталья!
A következő VBA-kód segíthet a probléma megoldásában. Kérjük, próbálja ki.

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
A weboldal moderátora ezt a megjegyzést minimalizálta
Helló,

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
A weboldal moderátora ezt a megjegyzést minimalizálta
Szia Mathias,
Ha nem találja a megfelelő billentyűt a billentyűzeten. Csak rákattinthat a Megtakarítás gombot a Microsoft Visual Basic Applications ablak a kód mentéséhez, majd manuálisan zárja be ezt az ablakot.
A weboldal moderátora ezt a megjegyzést minimalizálta
Helló,
Az alábbi kód a hirdetett módon működik, de a következő problémák lépnek fel:

Először is, a megcélzott tábla átméretezésekor az összes táblaadat törlődik ÉS, az 1. oszlop kivételével minden fejléc át lesz címkézve "Oszlop1, Oszlop2 stb."-re ÉS a munkafüzet automatikusan elmenti a lapját, és megszakítja a visszavonást.

Másodszor, a táblázat bármely sorának törlésekor „1004-es futásidejű hiba (Method Offset of Object Range failed) üzenetet kapok.


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


Valami ötlet, hogy mi lehet a baj?

Előre is köszönöm!
A weboldal moderátora ezt a megjegyzést minimalizálta
Hola, estoy trabajando una base de datos en OFFICE ONLINE és traves de ONEDRIVE, quiero que al PONER "CANCELADO" vagy "NOSHOW" elimine a contenido de la fila seleccionada.
A weboldal moderátora ezt a megjegyzést minimalizálta
Szia Angyal,
A VBA-kód nem működik az Office Online-ban. Elnézést a kellemetlenségért.
Még senki sem írt megjegyzést
Több ingatlan
Hagyja meg észrevételeit
Feladás vendégként
×
Értékeld ezt a bejegyzést:
0   Karakterek
Javasolt helyek

Kövess minket

Copyright © 2009 - www.extendoffice.com. | Minden jog fenntartva. Powered by ExtendOffice. | Oldaltérkép
A Microsoft és az Office logó a Microsoft Corporation védjegyei vagy bejegyzett védjegyei az Egyesült Államokban és / vagy más országokban.
Sectigo SSL védi