Zelleninhalt löschen wenn Nachbarzelle Wert enthält
#1
Hi.
Ich suche eine Lösung um den Inhalt aus Zelle N7 zu löschen, wenn in Zelle M7 etwas steht.
Standardmäßig ist Zelle M7 leer und man kann mittels Dropdown einen von 6 Werten auswählen.
Wenn das allerdings der Fall ist, soll der Inhalt aus Zelle N7 gelöscht werden.
Und dan ganze soll auch Spaltenweise weiter funktionieren, also:

wenn M8 wert, dann N8 Leer
wenn M9 wert, dann N9 Leer 
USW. Bis max N37.

Ich habe es mit folgendem Code versucht, aber da passiert irgendwie garnichts:

Code:
Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
   Dim objRange As Range, objCell As Range
   Set objRange = Intersect(Target, Columns(1))
   If Not objRange Is Nothing Then
       Application.EnableEvents = False
       For Each objCell In objRange
           Call objCell.Offset(0, 1).ClearContents
       Next
       Application.EnableEvents = True
       Set objRange = Nothing
   End If
End Sub
Ich habe es für A1 und B1 mittels diesem Code versucht, um zu testen, aber das klappt nicht.
Kann mir da jemand helfen?
Danke
Top
#2
Hallo,

versuche es mal so

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
   Dim objRange As Range, objCell As Range
   Set objRange = Intersect(Target, Columns(1))
   If Not objRange Is Nothing Then
       Application.EnableEvents = False
       For Each objCell In objRange
           objCell.Offset(0, 1).ClearContents
       Next
       Application.EnableEvents = True
       Set objRange = Nothing
   End If
End Sub

Obiges Makro funktioniert aber nur, wenn Du in Spalte A was eingibst
Gruß Stefan
Win 10 / Office 2016
Top
#3
Danke für die Antwort, aberirgendwie klappt das nicht.
Vielleicht mache ich auchbeim einfügen des Codes irgendetwas falsch.
Ich habe es zwischenzeitlich mit anderem Code versucht, aber auch das funktioniert nicht und ich weiss nicht wieso.

Code:
Dim X As Long
For X = 1 To Cells(Rows.Count, 13).End(xlUp).Row
If Cells(X, 13) = "X" Then
  Cells(X, 14).ClearContents
  Cells(X, 21).ClearContents
End If
Next

Auch das geht nicht. Ich reiß mir gleich die Haare raus Huh
Top
#4
Hallo,

das mit dem Haareausreißen hat noch Zeit. Das kannst Du später immer noch tun.

Aber ich habe das Gefühl, daß Du von Deinem Code etwas erwartest, was der gar nicht
zu leisten imstande ist.
Wie wäre es, wenn Du mal Schritt für Schritt erklärst, was das Makro tun soll und ob es
noch weitere Codes in dieser Datei gibt.
Dann sehen wir weiter.
Ach ja, was Du da oben gepostet hast, ist kein Makro ... das Ding ist maximal ein Codeschnipsel.
Ein Makrocode beginnt mit Sub und endet mit End Sub.
Top
#5
Hallo,

(08.10.2018, 19:06)robertko schrieb: Auch das geht nicht.

Das sollte aber laufen wenn du das von Peter angesprochene noch erledigst.
Gruß Stefan
Win 10 / Office 2016
Top
#6
Nein, es gibt keinen weiteren Code.

Also.
Ich habe eine Tabelle mit 3 Spalten
A;B;C Jeweils von 7 bis 37

In den Zellen der Spalten B und C stehen Werte drin.
In A ist in jederZelle ein Dropdown.
Wenn ich nun aus diesem Dropdown in A etwas auswähle, sollen die entsprechnenden Zellen der gleichen Zeile ( B und C ) gelöscht werden.

A;B;C dienen hier nur zur Vereinfachung.
Ich brauche es für M;N;U.
Top
#7
(08.10.2018, 19:24)Steffl schrieb: Hallo,


Das sollte aber laufen wenn du das von Peter angesprochene noch erledigst.

Peter???
Was meinst du?
Top
#8
Hallo,

so sollte es gehen

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
   Dim objRange As Range, objCell As Range
   Set objRange = Intersect(Target, Columns(13))
   If Not objRange Is Nothing Then
       Application.EnableEvents = False
       For Each objCell In objRange
           objCell.Offset(0, 1).ClearContents
           objCell.Offset(0, 8).ClearContents
       Next
       Application.EnableEvents = True
       Set objRange = Nothing
   End If
End Sub
Gruß Stefan
Win 10 / Office 2016
Top
#9
VielelDank, aber auch das geht nicht.
Wie gesagt, ich glaube das ich irgendetwas falsch mache.
Kann man irgendwie prüfen, ob der code eingebunden ist oder weiß der Geier was?
irgendwas stimmt hier nicht.
Schau mal auf das bild. siehst du da irgendeinen Fehler?


Angehängte Dateien Thumbnail(s)
   
Top
#10
Hallo,

es fehlt das End If und die Zeile mit End Sub. In der Codedarstellung kannst Du übrigens scrollen.
Gruß Stefan
Win 10 / Office 2016
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste