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

Case Anwendung

Case Anwendung
Heinz
Guten morgen im Forum
Ich habe ein Makro,der mir in den Sheets Jänner bis Dezember Werte reinkopiert.
Funkt, auch.
Sub Neuer_Schichtplan()
Application.ScreenUpdating = False
Application.EnableEvents = False
If Application.InputBox("Bitte Passwort eingeben : ") = "test" Then
If MsgBox("Wollen Sie die Schichten einfügen ? Die alten Schichtpläne werden gelöscht.",  _
vbQuestion + vbYesNo, _
" Nachfrage Schichten einfügen !") = vbNo Then Exit Sub
'Jänner
Sheets("Jänner").Unprotect Password:="test"
Worksheets("Jänner").Range("C3:AH154").ClearContents
Worksheets("Jänner").Range("C3:AH154").ClearComments
Worksheets("Jänner").Range("C3:AH154").Font.ColorIndex = 0
Worksheets("Jänner").Range("C3:AH154").Interior.ColorIndex = xlNone
'Schichtplan
Worksheets("Schichtplan").Range("C6:K36").Copy
Worksheets("Jänner").Range("C500").PasteSpecial Paste:=xlPasteValues, Transpose:=True
Worksheets("Jänner").Range("C541:AG692").Copy
Worksheets("Jänner").Range("C3").PasteSpecial Paste:=xlPasteValues, Transpose:=False
Worksheets("Jänner").Range("C3:AG154").Replace what:="0", Replacement:=""
Sheets("Jänner").Protect Password:="test"
MsgBox "Es wurden alle Schichten für das Jahr" & Chr(13) & Worksheets("Formel").Range("A1") & "  _
" & "eingefügt"
Application.DisplayAlerts = True
Application.ScreenUpdating = True
Application.EnableEvents = True
End Sub
In dieser Arbeitsmappe habe ich ein Makro mit Case.
Sub Worksheet_Change(ByVal Target As Range)
Dim Kal_Bereich As Range, Kal_Cell As Range
Set Kal_Bereich = Range("C3:AI154")  'Bereich in dem was geändert wird
Set Kal_Bereich = Intersect(Kal_Bereich, Range(Target.Address))
ActiveSheet.Unprotect Password:="test"   'Blattschutz aus
If Kal_Bereich Is Nothing Then Exit Sub
For Each Kal_Cell In Kal_Bereich
With Range(Kal_Cell.Address, Kal_Cell.Offset(0, 0).Address)
Select Case UCase(Kal_Cell.Value) ' UMWANDLUNG DER Eingabe in Großbuchstaben für  _
Formatierung
Case "B= BEZAHLT FREI"
.Interior.ColorIndex = 7  'rosa
.Font.ColorIndex = 2 'weiß
Case Else
.Interior.ColorIndex = 2
.Font.ColorIndex = 0
End Select
End With
Next Kal_Cell
End Sub
Nur wenn ich das erste Makro "Sub Neuer_Schichtplan()" starte
und gehe auf Sheets "Jänner" sollten mir die Zellen mit "B= BEZAHLT FREI"
mit Farbe,Schrift hinterlegt sein.
Das ist aber nicht der Fall,erst wenn ich einen Doppelklick auf die Zelle mache.
Könnte mir bitte dazu jemand weiterhelfen.
Gruß
Heinz

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Case Anwendung
28.09.2010 08:23:30
xr8k2
Hallo Heinz,
du schaltest in deiner Sub "Neuer_Schichtplan" mit Application.Enableevents die Ereignisauslösung aus. Damit wird bei der Tabellenänderung das Worksheet_Change gar nicht ausgeführt.
Gruß,
xr8k2
AW: Case Anwendung
28.09.2010 08:35:53
Heinz
Hallo xr8k2
Ja das war es.
Nur läuft jetzt der Code Elendslange, da es ca.15 Case Anwendungen sind in 12 Sheets.
Gäbe es eventuell eine Möglichkeit mit Private Sub Worksheet_Activate()
Gruß Heinz
AW: Case Anwendung
28.09.2010 09:24:22
xr8k2
Hallo Heinz,
Worksheet_Activate ... wüsst ich jetzt nicht wie das funtionieren söllte ;-)
U.U. könntest du den Formatierungscode mit in die Neuer_Schichtplan Sub übernehmen ... falls die Formatierungen im betreffenden Bereich nicht auch bei händischer Zellbearbeitung überwacht/geändert werden sollen.
Ansonsten solltest du (wenn ich deinen Code richtig verstanden hab) schon die Events in deiner Prozedur ausschalten und lediglich für die eine Zeile:
Worksheets("Jänner").Range("C3").PasteSpecial Paste:=xlPasteValues, Transpose:=False
wieder aktivieren.
Gruß,
xr8k2
Anzeige
AW: Case Anwendung
28.09.2010 09:33:37
Heinz
Hallo xr8k2
Danke für Deine Hilfe
Ich werde am Anfang die Events ausschalten.
Ist ja nur einmal im neuen Jahr.
Kann ja derweil einen Kaffee trinken.
Nochmals Danke für Deine Hilfe
Gruß
Heinz

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige