Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
884to888
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
884to888
884to888
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

2 x Worksheet_Change in der gleichen Tabelle

2 x Worksheet_Change in der gleichen Tabelle
09.07.2007 21:38:07
Peter
Guten Abend
Habe Probleme mit Worksheet_Change. Der erste

Sub funktionierte, bis ich versuchte einen 2. zu integrieren. Anscheinend verträgt es nicht  _
gleichzeitig zwei (zumindest auf diese Art). Ich möchte jedoch einen Code auslösen, wenn im Bereich C8:C1000 eine Änderung geschieht und zusätzlich, wenn im Range "EndDat" eine Änderung geschieht.
Ob ich dann die Formel auf diese Art eintragen kann, ist wohl fraglich, doch ich kann es noch  _
nicht probieren, wegen dem erst genannten Problem.
Danke für ein Feedback.
Peter


Sub Worksheet_Change(ByVal Target As Range)
Dim Bereich As Range
Set Bereich = Range(Cells(8, 3), Cells(1000, 3))
If Not Intersect(Target, Bereich) Is Nothing Then Exit Sub
Application.StatusBar = Prüfung(Range(Cells(8, 3), Cells(1000, 3)), 1)  ‘User definierte  _
Funktion
End Sub



Sub Worksheet_Change(ByVal Target As Range)
Dim Bereich As Range
Set Bereich = Range("EndDat").Address
If Not Intersect(Target, Bereich) Is Nothing Then Exit Sub
'=WENN(ODER(MONAT(G9)>MONAT(G8);JAHR(G8)>JAHR(G9));G9;"")  'entspricht der Formel in A9
Range("EndDat") = "=IF(OR(MONTH(R[-1]C[6])>MONTH(RC[6]),YEAR(R[-1]C[6])>YEAR(RC[6])),RC[6],"""") _
End Sub


6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: 2 x Worksheet_Change in der gleichen Tabelle
09.07.2007 21:47:37
{Boris}
Hi Peter,
2 mal das selbe Ereignis geht natürlich nicht.
Mach´s in der Art:

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Bereich1) Is Nothing Then
Call Routine1 'oder schreib´s direkt in den Code
ElseIf Not Intersect(Target, Bereich2) Is Nothing Then
Call Routine2
End If
End Sub


Grüße Boris

AW: 2 x Worksheet_Change in der gleichen Tabelle
09.07.2007 21:51:07
Peter
Hallo Boris
Vielen Dank!
Kannst du mir noch den Unterschied erklären zwischen
Sub Worksheet_Change(ByVal Target As Range) und
Private Sub Worksheet_Change(ByVal Target As Range)
Danke
Peter

Anzeige
AW: 2 x Worksheet_Change in der gleichen Tabelle
09.07.2007 22:13:00
Daniel
Hi
Private Subs können nur von Makros im gleichen Modul aufgerufen werden.
Fehlt Private oder steht Public davor, können auch Makros aus anderen Modulen oder der Anwender direkt über die Menüfunktion auf das Makro zugreifen (der letzte Fall geht aber nur, wenn keine Variablen an das Makro übergeben werden.)
Gruß, Daniel

AW: vielen Dank, owT
09.07.2007 22:16:09
Peter

AW: 2 x Worksheet_Change in der gleichen Tabelle
09.07.2007 21:49:58
Daniel
Hi
generell darf ein Makro-Name nur einmal vergeben werden.
Ist bei Computerprogrammen halt so, da muß alles eindeutig sein, da bilden auch die Eventgesteuerten Makros keine ausnahme.
Du mußt also beide Makros in eines zusammendfassen und dann über eine entsprechende IF THEN oder SELECT CASE - Programmierung den ablauf entsprechend steueren.
In deinem Fall dann so:

Sub Worksheet_Change(ByVal Target As Range)
Dim Bereich1 As Range
Dim Bereich2 as range
Set Bereich1 = Range(Cells(8, 3), Cells(1000, 3))
If  Intersect(Target, Bereich1) Is Nothing Then
Application.StatusBar = Prüfung(Range(Cells(8, 3), Cells(1000, 3)), 1)
end if
Set Bereich2 = Range("EndDat").Address
If Intersect(Target, Bereich) Is Nothing Then
'=WENN(ODER(MONAT(G9)>MONAT(G8);JAHR(G8)>JAHR(G9));G9;"")  'entspricht der Formel in A9
Range("EndDat") = "=IF(OR(MONTH(R[-1]C[6])>MONTH(RC[6]),YEAR(R[-1]C[6])>YEAR(RC[6])),RC[6],"" _
"") _
end if
End Sub


Gruß, Daniel

Anzeige
AW: 2 x Worksheet_Change in der gleichen Tabelle
09.07.2007 21:51:59
Peter
Hallo Daniel
Besten Dank.
Peter

40 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige