Namig: drugi jeziki so prevedeni v Google. Lahko obiščete English različico te povezave.
Vpiši se
x
or
x
x
Registracija
x

or

Kako očistiti določene celične vsebine, če se v Excelu spremeni vrednost druge celice?

Če želite spremeniti obseg določenih celičnih vsebin, če je spremenjena vrednost druge celice, kako lahko storite? Ta objava vam bo pokazala način reševanja te težave.

Izbrišite določeno celično vsebino, če se vrednost druge celice spremeni s kodo VBA


Izbrišite določeno celično vsebino, če se vrednost druge celice spremeni s kodo VBA


Kot je prikazano spodnje sličice, ko se spremeni vrednost v celici A2, se vsebina v celici C1: C3 samodejno izbriše. Prosimo, naredite na naslednji način.

1. Na delovnem listu boste izbrisali vsebino celic, ki temelji na drugih spremembah celice, z desno miškino tipko kliknite zavihek stanja in izberite Ogled kode iz kontekstnega menija. Prikaz slike:

2. V odprtju Microsoft Visual Basic za aplikacije okno, kopirajte in prilepite pod kodo VBA v okno Code.

VBA koda: Izbrišite določeno celično vsebino, če se vrednost druge celice spremeni

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

Opombe: V kodi je B2 celica, ki jo boste izbrisali na vsebini celic, in C1: C3 je obseg, ki ga boste izbrisali iz vsebine. Prosimo, spremenite jih po potrebi.

3. Pritisnite druga + Q tipke za zapiranje Microsoft Visual Basic za aplikacije okno.

Nato lahko vidite vsebino v območju C1: C3 se samodejno izbriše, ko se vrednost v celici A2 spremeni kot pod prikazom zaslona.


Sorodni članki:



Priporočena orodja za produktivnost za Excel

Kutools za Excel vam pomaga, da vedno končate delo pred časom in izstopite iz množice

  • Več kot zmogljive napredne funkcije 300, zasnovane za 1500 delovne scenarije, ki povečujejo produktivnost z 70%, vam dajejo več časa za skrb za družino in uživanje v življenju.
  • Ne potrebujete več pomnilniških formul in VBA kod, od zdaj naprej pa dajate svojim možganom počitek.
  • Postanite strokovnjak za Excel v minutah 3, zapletene in ponavljajoče se operacije lahko opravite v nekaj sekundah,
  • Vsak dan zmanjšajte število operacij tipkovnice in miške, zdaj se poslovite od poklicnih bolezni.
  • 110,000 visoko učinkovite ljudi in 300 + svetovno priznanih podjetij izbiro.
  • Brezplačna preizkusna različica 60 dneva. 60-dnevno jamstvo vračila denarja. 2 let brezplačne nadgradnje in podpore.

Prinaša kartično brskanje in urejanje za Microsoft Office, veliko močnejši od zavihkov brskalnika

  • Office Tab je namenjen za Word, Excel, PowerPoint in druge Office aplikacije: Založnik, Dostop, Visio in Projekt.
  • Odprite in ustvarite več dokumentov v novih zavihkih istega okna in ne v novih oknih.
  • Z 50% poveča vašo produktivnost in vsak dan zmanjša na stotine klikov z miško!
Say something here...
symbols left.
You are guest ( Sign Up? )
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    Sonia · 1 months ago
    any way of doing this without VBA?
  • To post as a guest, your comment is unpublished.
    GQ · 3 months ago
    In the case of A2, how do i reference a cell from a different worksheet?
  • To post as a guest, your comment is unpublished.
    Mac · 11 months ago
    Hi this isnt working for mine. Nothing changes but no errors either. Any tips?
    • To post as a guest, your comment is unpublished.
      crystal · 10 months ago
      Good day,
      Sorry for the inconvenience. Would you provide your Office version? Thanks for your comment.
  • To post as a guest, your comment is unpublished.
    Jason · 1 years ago
    Hi, I'm looking for a way to clear a range of cells of data when an "x" is entered in a certain cell. I used the above formula and it worked perfectly for that one row. The problem is that I need to extend it down to many rows. For example, if an "x" is entered in "D13", I need the range J:13 - v:13 to be cleared. I also need that to happen if an x is entered in "D14" as in I need the range d:14 - v:14 to be cleared. Is there a way to write that? Thanks for your help!
  • To post as a guest, your comment is unpublished.
    Mat 257 · 1 years ago
    hello, this works for a fixed source cell only (A2), how do this dynamically such as source is a variable cell? i tried to write
    A=activecell.row
    If Not Intersect(Target, Range("A"& A)) Is Nothing Then
    Range("C1:C3").ClearContents
    End If

    this should do the job with regard to activecell (ie selection) but is not working
    thanks
    • To post as a guest, your comment is unpublished.
      crystal · 1 years ago
      Good Day,
      Please try the below VBA code. Thank you for your comment.

      Private Sub Worksheet_Change(ByVal Target As Range)
      If (Not Intersect(Target, Rows(1)) Is Nothing) And (Target.Count = 1) Then
      Range("C1:C3").ClearContents
      End If
      End Sub