Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1680to1684
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

VBA Zwei Ereignisse in Private Sub Worksheet_Chang

VBA Zwei Ereignisse in Private Sub Worksheet_Chang
10.03.2019 16:30:20
Karsten
Hallo,
ich möchte 2 Abfragen in Private Sub Worksheet_Change durchführen:
Erstens bei Eingabe eines Wertes in Zelle B6 oder C6 eine Neue Zeile oberhalb einfügen.
Dies mache ich mit Code 1::

Private Sub Worksheet_Change(ByVal Target As Range)
'On Error GoTo ErrHdl
Application.EnableEvents = False
If Range("b6")  "" Or Range("c6")  "" Then
Range("a6").EntireRow.Insert
Rows("5:7").RowHeight = 14.4
Range("d7").Select
End If
Application.EnableEvents = True
End Sub
Nun möchte ich in der Zelle M7 überprüfen, ob der Werte bereits in der Spalte vorhanden ist.
Hierfür habe ich den Code2 gefunden:

Private Sub Worksheet_Change(ByVal Target As Range)
Dim iRow As Integer
If Target.Address  "$M$7" Then Exit Sub
If IsEmpty(Target) Then Exit Sub
If WorksheetFunction.CountIf(Columns(1), Target.Value) > 1 Then
MsgBox "Wert ist schon vorhanden!"
Else
Range("M7").Value = Target.Value
End If
End Sub

Mir gelingt es nicht diese beiden Abgfragen in einem Sub zu verbinden.
Wie kann ich dies bewerkstelligen?
Gruß Karsten

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Zwei Ereignisse in Private Sub Worksheet_Chang
10.03.2019 16:36:08
Hajo_Zi
Hallo Karsten,
If Target.Address = "$M$7" Then
End if

AW: VBA Zwei Ereignisse in Private Sub Worksheet_Chang
10.03.2019 16:47:30
Karsten
Hallo Hajo,
danke schon einmal. Schon tut sich die nächste Frage auf:
Jetzt wird der zuletzt eingegebene Wert in der Zeile 7 in M7 eingetragen.
Ich wollte aber den Wert den ich in M7 eingebe überprüfen ob er in Spalte M schon vorhanden ist.
Gruß Karsten
AW: VBA Zwei Ereignisse in Private Sub Worksheet_Chang
10.03.2019 16:51:06
Hajo_Zi
Hallo Karsten,
dazu kann ich nichts schreiben, was wohl daran liegt das ich nicht auf fremde Rechne schgaue.
Gruß Hajo
Anzeige
AW: VBA Zwei Ereignisse in Private Sub Worksheet_Chang
10.03.2019 17:16:41
onur
Nix für Ungut, aber VBA ist keine Zauberei - Man kann nicht irgendwo einen Zauberspruch finden und hoffen, dass er zufällig genau das ist, was man gerade braucht.
Du solltest langsam mal VBA (zumindest VBA lesen) lernen, dann würdest du sofort sehen, dass der 2. Code in Spalte A sucht und nicht in Spalte M.
Versuch das (ungetestet):
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = false
If Range("b6")  "" Or Range("c6")  "" Then
Range("a6").EntireRow.Insert
Rows("5:7").RowHeight = 14.4
Range("d7").Select
else
If Target.Address = "$M$7" Then
If Target.value="" Then Exit Sub
If WorksheetFunction.CountIf(Columns(13), Target.Value) > 1 Then
MsgBox "Wert ist schon vorhanden!"
Else
Range("M7").Value = Target.Value
End If
End If
Application.EnableEvents = True
End Sub

Anzeige
AW: VBA Zwei Ereignisse in Private Sub Worksheet_Chang
10.03.2019 17:18:51
onur
Es fehlte noch was:
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = false
If Range("b6")  "" Or Range("c6")  "" Then
Range("a6").EntireRow.Insert
Rows("5:7").RowHeight = 14.4
Range("d7").Select
else
If Target.Address = "$M$7" Then
If Target.value="" Then Exit Sub
If WorksheetFunction.CountIf(Columns(13), Target.Value) > 1 Then
MsgBox "Wert ist schon vorhanden!"
Else
Range("M7").Value = Target.Value
end if
End If
End If
Application.EnableEvents = True
End Sub

AW: VBA Zwei Ereignisse in Private Sub Worksheet_Chang
10.03.2019 17:23:30
Karsten
Danke onur, es funktioniert perfekt.
AW: VBA Zwei Ereignisse in Private Sub Worksheet_Chang
10.03.2019 17:25:33
onur
Es fehlte noch etwas:
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = false
If Range("b6")  "" Or Range("c6")  "" Then
Range("a6").EntireRow.Insert
Rows("5:7").RowHeight = 14.4
Range("d7").Select
else
If Target.Address = "$M$7" Then
If Target.value="" Then
Application.EnableEvents = True
Exit Sub
end if
If WorksheetFunction.CountIf(Columns(13), Target.Value) > 1 Then
MsgBox "Wert ist schon vorhanden!"
Else
Range("M7").Value = Target.Value
end if
End If
End If
Application.EnableEvents = True
End Sub

Anzeige
AW: VBA Zwei Ereignisse in Private Sub Worksheet_Chang
10.03.2019 17:59:56
Karsten
Und nochmals danke.

319 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige