Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
1484to1488
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Application.intersect problem

Application.intersect problem
01.04.2016 18:19:23
SP
Hallo Zusammen
Ich möchte euch in einer Sache, bei der ich nicht weiterkomme um hilfe bitten.
Ich habe mir einen code geschrieben, der dafür sorgen soll, dass zwei Zellen nicht gleichzeitig eine Information enthalten dürfen.
Nun bin ich der Meinung, dass der Code so wie geschrieben stimmen müsste. Tatsächlich funktioniert es auch wenn ich ein neues Excel mach und den Code testweise da einfüge. Das Problem kommt auf, wenn ich den Code in die eigentlich dafür vorgesehene Arbeitsmappe integriere. Da, passiert nämlich dann gar nix. Die Arbeitsmappe beinhaltet diverse andere Makros, Formen, usw. und alles funktioniert sehr gut... nur dieser code halt nicht.
Ich hab bereits versucht allen anderen Code zu löschen (entfernen von modulen usw.) so dass gar nix anderes dahinter am laufen ist.... das hat aber leider auch nix gebracht.
Ich hoffe das ich da irgendwas übersehe, was euch evtl. gleich ins Auge sticht.
Hier noch den Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Application.Intersect(Range("F13"), Range(Target.Address)) Is Nothing And Range("C13"). _
Value  "" Then
Cells(13, 6).Value = ""
MsgBox "ddd"
Else
End If
If Application.Intersect(Range("C13"), Range(Target.Address)) Is Nothing And Range("F13"). _
Value  "" Then
Cells(13, 3).Value = ""
Else
End If
End Sub

Danke euch im Voraus für etwaige Hilfestellungen.

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Application.intersect problem
01.04.2016 18:33:49
Michael
Hi SP,
im Prinzip so:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Range("F13"), Target) Is Nothing Then
If Range("C13").Value  "" Then
Application.EnableEvents = False
Target.Value = ""
Application.EnableEvents = True
MsgBox "C13 hat Wert"
Else
MsgBox "C13 ist leer"
End If
Else
If Not Intersect(Range("C13"), Target) Is Nothing Then
If Range("F13").Value  "" Then
Application.EnableEvents = False
Target.Value = ""
Application.EnableEvents = True
MsgBox "F13 hat Wert"
Else
MsgBox "F13 ist leer"
End If
End If
End If
End Sub
Schöne Grüße,
Michael

Anzeige
AW: Application.intersect problem
01.04.2016 20:20:20
SP
Salü Michael
Danke für die schnelle Antwort aber das ist nicht das was ich meinte... evtl. habe ich mich etwas missverständlich ausgedrückt. Der Code den ich gepostet habe, tut eigentlich was er soll.
Wenn Zelle A beschrieben wird und Zelle B beschrieben ist dann lösche zelle B.
Wenn Zelle B beschrieben wird und Zelle A beschrieben ist dann lösche zelle A.
die msgbox und das else kann man getrost vergessen im moment. das problem was ich habe ist... der code funktioniert in einem neuen excel aber nicht in der excelmappe in der ich es brauche und ich verstehe nicht warum.
habe es auf meine privaten und dem geschäfts pc ausprobiert und zwischen den versuchen wo es geklappt hat und nicht habe ich keine Einstellungen verändert.

Anzeige
AW: Application.intersect problem
02.04.2016 20:15:08
SP
so das Problem hat sich gelöst... ich idiot hatte im workbook open
die zeile
EnableEvents = False
drin... dann kanns ja ned funzen :-)
Danke für die Hilfe!!
Gruss

Das kann man auch so machen, ...
01.04.2016 21:12:22
Luc:-?
…SP:
Private Sub Worksheet_Change(ByVal Target As Range)
Const adRelZ1$ = "C13", adRelZ2$ = "F13"
With Application
.EnableEvents = False
If Target.Address(0, 0) = adRelZ2 And _
Target  "" And Me.Range(adRelZ1)  "" Then
Me.Range(adRelZ1) = "": MsgBox adRelZ1, vbExclamation, "Löschung"
ElseIf Target.Address(0, 0) = adRelZ1 And Target  "" And _
Target  "" And Me.Range(adRelZ2)  "" Then
Me.Range(adRelZ2) = "": MsgBox adRelZ2, vbExclamation, "Löschung"
End If
.EnableEvents = True
End With
End Sub
Wobei man im Grunde den Inhalt der jeweils anderen Zelle immer löschen könnte, egal ob der leer ist oder nicht. Die entsprd Abfrage könnte also auch entfallen → bspw im 1.Fall also nur: If Target.Address(0, 0) = adRelZ2 And Target "" Then
Feedback nicht unerwünscht! Gruß, Luc :-?
Besser informiert mit …

Anzeige
AW: Das kann man auch so machen, ...
02.04.2016 20:14:42
SP
so das Problem hat sich gelöst... ich idiot hatte im workbook open
die zeile
EnableEvents = False
drin... dann kanns ja ned funzen :-)
Danke für die Hilfe!!
Gruss

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige