Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1168to1172
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

Code nur für bestimmtes workesheet ausführen

Code nur für bestimmtes workesheet ausführen
Maris
Hi Leute,
ich habe diesen Code... er ist dafür bestimmt in einem Tabellenblatt "ABC" dafür zu sorgen, das alle felder ausgefüllt werden, und dann erst die nächste Zeile bearbeitet werden kann. Im VBA editor habe ich ihn auch im ensprechenden Tabellenblatt hinterlegt. Komischerweise wird dieser Code auch ausgeführt wenn ich ihn Tabellenblatt "XYZ" Felder eingebe. Wie kann ich das verhindern und an was leigt das?
Anbei der Code:

Private Sub Worksheet_Change(ByVal Target As Range)
Dim rngEingabe As Range
Dim sFormel$, lngRow&
'Wirkungsbereich anpassen
Set rngEingabe = Intersect(Range("B4:AN5000"), Target)
'Keine Zelle im Wirkungsbereich?
If Not rngEingabe Is Nothing Then
'Schleife über Eingabebereich
For Each rngEingabe In rngEingabe
If rngEingabe  "" Then 'ist Zelle nicht leer
lngRow& = rngEingabe.Row 'Zeile der Zelle für Formel
'Formel zusammenbauen
sFormel$ = "=(LOWER($A" & lngRow& & ")=""x"")*(COUNTA($B" & lngRow& - 1 & ":$AN" & lngRow& - _
1 & ")=39)"
If Not CBool(Evaluate(sFormel)) Then 'Ergebnis der Formel mit Prüfung
Application.EnableEvents = False 'events aus
Application.Undo 'Handeingabe rückgängig
MsgBox "Before you can start editing the next line, Please fill out all cells in  _
this row!", vbCritical, "Cancel action" 'Fehlermeldung
Application.EnableEvents = True 'events an
Exit Sub 'aussteigen
End If
End If
Next rngEingabe
End If
End Sub
Vielen Dank für eure Hilfe...
Gruß
MAris
AW: Code nur für bestimmtes workesheet ausführen
27.07.2010 10:44:58
Holger
Hallo,
du könntest den Worksheet Namen in einer Variable hinterlegen und diese mit dem tatsächlichen Worksheetnamen prüfen.
StrWS = "ABC"
If ActiveSheet.Name = StrWS then
Macro
Else
Msgbox "Code wird nicht ausgeführt"
end if
AW: Code nur für bestimmtes workesheet ausführen
27.07.2010 10:58:03
Maris
Danke. Wie baue ich deine Prüfung in meinen Code ein?
Gruß
Maris
AW: Code nur für bestimmtes workesheet ausführen
27.07.2010 13:44:18
Holger
Hallo,
ich habe erst jetzt gesehen, dass du einen WorkSheet Slection Change Ereignis benutzt.
Dieses wird ja automatisch nur in dieser Tabelle ausgeführt, ausser du hast es noch
in einer anderen tabelle hinterlegt.
Klick im VBA Editor mal auf alle Tabellen, um zu sehen, ob du in einer anderen Tabelle
den gleichen Code benutzt!
Anzeige
AW: Code nur für bestimmtes workesheet ausführen
28.07.2010 09:56:51
Maris
Hi Holger,
leider nicht das ist der einzige Code mit dem EReignis in alle Tabellen. Echt komisch!!! Verstehs nicht...
Irgendjemand eine Idee?
Gruß
Maris am verzweifen :-(
AW: eine Beispielmappe gibt es hier ...
28.07.2010 11:18:12
Maris
Hallo Tino,
leider funktioniert das in meiner anderen Tabelle nicht, dieser Code wird auch ausgeführt wenn ich in einer anderen Tabelle Datumseingaben mache. Sehr komisch!?!?!
Gruß
Maris
Anzeige
kopiere die Datei...
28.07.2010 11:23:11
Tino
Hallo,
lösche sensible Daten und lade die Datei hoch, wichtig ist das Dein Problem bestehen bleibt.
Gruß Tino
AW: kopiere die Datei...
28.07.2010 13:40:09
Maris
Hallo,
anbei die Beispieldatei, hoffe die bringt so was... Das Admin passwort ist Fibu zur Komplettansicht... Was mich auch noch verwunder ist wenn der Cursor im Tabellenblatt "List" auf C2 steht scheint es zu funktionieren. Der ist aber immer wo anderes nie da wo er hin soll.... alles komisch!
Vielen lieben Dank!
https://www.herber.de/bbs/user/70790.xls
Gruß
Maris
AW: kopiere die Datei...
28.07.2010 17:19:27
Maris
Hab den Fehler gefunden! War der Bereich falsch angegeben! Der Code funktioniert jetzt super. Vielen Dank!
Anzeige
ok. danke für die Rückmeldung oT.
28.07.2010 21:27:49
Tino
AW: Code nur für bestimmtes workesheet ausführen
27.07.2010 10:45:29
ChrisL
Hi Maris
Kann es sein, dass auf dem 2. Tabellenblatt ebenfalls ein worksheet_change ereignis drin ist, welches auf die erste Tabelle Daten schreibt?
Oder gibts evtl. noch ein Workbook_SheetChange Ereignis?
Ansonsten, lade mal eine Beispieldatei ins Forum
cu
Chris
AW: Code nur für bestimmtes workesheet ausführen
27.07.2010 10:54:32
Maris
Hi, danke für die Antwort.
Nein im 2ten Tabellenblatt ist kein Worksheet ereignis. Nur im Workbook ein Workbook open und close.
AW: Code nur für bestimmtes workesheet ausführen
27.07.2010 12:58:57
ChrisL
Hi
Normal ist das Verhalten ja nicht. Wenn du den Code in eine neue leere Mappe kopierst, hast du das Problem nicht. Die Ursache muss also sonst wo in der Mappe sein, was aber ohne Beispieldatei schwer zu erraten ist.
cu
Chris
Anzeige
AW: Code nur für bestimmtes workesheet ausführen
28.07.2010 17:19:51
Maris
Hab den Fehler gefunden. DAnke für alles!
Gruß
Maris

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige