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

zwie Codes in einem Tabellenblatt

zwie Codes in einem Tabellenblatt
29.03.2009 14:07:01
Andre
Hallo!!
Ich habe zwei VBA-Codes die getrennt voneinander super laufen. Jetzt möchte ich aber gern beide in einem Tabellenblatt ablaufen lassen.
Einfach beide einfügen funzt nicht.
Wer kann mir weiterhelfen?
Was muss ich beachten?
Danke für eure Hilfe!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Hier die Codes:

Private Sub Worksheet_Change(ByVal Target As Range)
'Automatisch Doppelpunkt erzeugen!
Dim Zeit$
If Intersect(Target, Range("C5:C50,D5:D50,E5:E50")) Is Nothing Or Target.Count > 1 Then Exit  _
Sub
If Trim(Target) = "" Or Not IsNumeric(Target) Then Exit Sub
'ActiveSheet.Unprotect
Target.NumberFormat = "hh:mm"
Zeit = Trim(Str(Target))
Zeit = Format(Zeit, "00:00")
Application.EnableEvents = False
Target = Zeit
Application.EnableEvents = True
'ActiveSheet.Protect
End Sub



Private Sub Worksheet_Change(ByVal Target As Range)
Const Bereich = "B4:B18,D1,F10" 'Bereich, der überwacht werden soll (anpassen)
Dim rng As Range, z As Range
Set rng = Intersect(Target, Range(Bereich))
If Not rng Is Nothing Then
If rng(1).Value  "" Then 'damit man die Zelle nicht durch die Entf-Taste sperren kann
Me.Unprotect Password:="feuer1"
rng.Locked = True
Me.Protect Password:="feuer1"
End If
End If
End Sub


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

Betreff
Datum
Anwender
Anzeige
AW: zwie Codes in einem Tabellenblatt
29.03.2009 14:13:58
Tom
Hi,
schreib in dem ersten Code vor End Sub folgendes:

'deine Prozedur
End if
Call Worksheet_Change
End sub


Gruß
Tom

AW: zwie Codes in einem Tabellenblatt
29.03.2009 14:16:08
Uwe
Hi,
ist ungetestet also teste es mal:

Private Sub Worksheet_Change(ByVal Target As Range)
'Automatisch Doppelpunkt erzeugen!
Dim Zeit$
If Intersect(Target, Range("C5:C50,D5:D50,E5:E50")) Is Nothing Or Target.Count > 1 Then
If Trim(Target) = "" Or Not IsNumeric(Target) Then
'ActiveSheet.Unprotect
Target.NumberFormat = "hh:mm"
Zeit = Trim(Str(Target))
Zeit = Format(Zeit, "00:00")
Application.EnableEvents = False
Target = Zeit
Application.EnableEvents = True
'ActiveSheet.Protect
End If
End If
Const Bereich = "B4:B18,D1,F10" 'Bereich, der überwacht werden soll (anpassen)
Dim rng As Range, z As Range
Set rng = Intersect(Target, Range(Bereich))
If Not rng Is Nothing Then
If rng(1).Value  "" Then 'damit man die Zelle nicht durch die Entf-Taste sperren kann
Me.Unprotect Password:="feuer1"
rng.Locked = True
Me.Protect Password:="feuer1"
End If
End If
End Sub


Gruß
Uwe
(:o)

Anzeige
AW: zwie Codes in einem Tabellenblatt
29.03.2009 14:36:53
Andre
Hallo Uwe!!
Der Zellschutz funzt zwar aber die Formatierung der Zellen passt leider dann nicht mehr.
AW: zwie Codes in einem Tabellenblatt
29.03.2009 14:54:23
Uwe
Hi,
sorry, das hatte ich es mir etwas zu einfach gemacht. Versuche es mal so:

Private Sub Worksheet_Change(ByVal Target As Range)
'Automatisch Doppelpunkt erzeugen!
Dim Zeit$
If Intersect(Target, Range("C5:C50,D5:D50,E5:E50")) Is Nothing Or Target.Count > 1 Then
If Trim(Target) = "" Or Not IsNumeric(Target) Then
Else
ActiveSheet.Unprotect Password:="feuer1"
Target.NumberFormat = "hh:mm"
Zeit = Trim(Str(Target))
Zeit = Format(Zeit, "00:00")
Application.EnableEvents = False
Target = Zeit
Application.EnableEvents = True
ActiveSheet.Protect Password:="feuer1"
End If
End If
Const Bereich = "B4:B18,D1,F10" 'Bereich, der überwacht werden soll (anpassen)
Dim rng As Range, z As Range
Set rng = Intersect(Target, Range(Bereich))
If Not rng Is Nothing Then
If rng(1).Value  "" Then 'damit man die Zelle nicht durch die Entf-Taste sperren kann
Me.Unprotect Password:="feuer1"
rng.Locked = True
Me.Protect Password:="feuer1"
End If
End If
End Sub


Wenns noch nicht klappt melde Dich nochmal, vielleicht mit einer Beispielmappe.
Gruß
Uwe
(:o)

Anzeige
AW: zwie Codes in einem Tabellenblatt
29.03.2009 15:02:40
Andre
Hey Uwe!!
Leider lassen sich aber in den Spalten C bis E keine Zeitwerte mehr eingeben.
Hier die Datei:

Die Datei https://www.herber.de/bbs/user/60790.xls wurde aus Datenschutzgründen gelöscht


AW: zwie Codes in einem Tabellenblatt
29.03.2009 15:16:22
Uwe
Hi,
und nochmals SORRRY. Ich hatte den Code nochmal geändert, aber nicht die aktuelle Version gepostet. Da fehlte ein NOT und zwar hier:

If Not Intersect(Target, Range("C5:C50,D5:D50,E5:E50")) Is Nothing Or Target.Count > 1 Then


Ich drücke UNS die Daumen, dass es jetzt passt:
https://www.herber.de/bbs/user/60792.xls
(Falls noch nicht, klicke bei Deiner Antwort auf Frage noch offen, dann schauen auch Andere nochmal 'rein)
Gruß
Uwe
(:o)

Anzeige
AW: zwie Codes in einem Tabellenblatt
29.03.2009 15:21:55
Andre
Hey Uwe!!
Es läuft super!!
Besten Dank, auch für den Tip mit der offenen Frage!!!
Schönes WE noch!!
Gruß Andre
AW: zwie Codes in einem Tabellenblatt
29.03.2009 14:21:16
Daniel
Hi
da es sich um event-gesteuterte Makros handelt und es für jedes Event immer nur ein Makro geben darf, musst du beide Codetexte in ein Makro zusammenbringen.
dabei musst du allerdings folgendes beachten, ein

if Bedingung1 Then Exit sub
MakroCode1
if Bedingung2 Then Exit sub
MakroCode2 


wird natürlich nicht funktionieren, da der 2. Teil des Makro ja u.U. unabhängig vom ersten Teil ausgeführt werden soll.
dh . bei einem 2.Teiligen Makro müsste das ganze dann so aussehen:


if not Bedingung1 then
MakroCode1
End if
if  Not bedingung2 then
MakroCode2
end if


das weitere Problem bei dir ist, daß das eine Makro für den Blattschutz ein Password verwendet und das andere nicht, das musst du natürlich auch vereinheitlichen.
Gruß, Daniel

Anzeige
AW: zwie Codes in einem Tabellenblatt
29.03.2009 14:40:26
Andre
Hallo Leute!!
Ich bin leider noch nicht son Crack!!
Komme leider noch nicht weiter.
Hier mal die Datei.
https://www.herber.de/bbs/user/60789.xls

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige