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

Worksheet_Change zwei mal?

Worksheet_Change zwei mal?
03.07.2019 12:31:32
Leon.DerProf
Hallo liebe Community,
ich habe einen Code im Tabellenblatt-Modul.
Dieser soll immer aktiv sein.
Private Sub Worksheet_Change(ByVal Target As Range)
Dim KeyCells As Range
' The variable KeyCells contains the cells that will
' cause an alert when they are changed.
Set KeyCells = Range("Tabelle2[Vorbedingung]")
If Not Application.Intersect(KeyCells, Range(Target.Address)) _
Is Nothing Then
' Display a message when one of the designated cells has been
' changed.
'Hierher kommt der Code.
Call FarbeZeit
'Ggf. Hier: Call FarbeZeit2?
End If
End Sub
Bei FarbeZeit wird im Grunde folgendes passieren:
Wenn eine Zelle in Spalte "Vorbedingung" irgendwas als Wert oder Wort hat, dann färbt sich ein Balken rot.
Ich bin mir nicht sicher, ob es notwendig ist den FarbeZeit Code einzufügen, ich möchte den Beitrag möglichst kurz halten, aber falls ihr den Code braucht, poste ich ihn ganz unten.
Nun möchte ich quasi den selben Worksheet_Change Makro für eine zweite Tabelle auf die selbe Art und Weise anwenden. Hierfür habe ich einen Code mit FarbeZeit2 geschrieben.
Zusatz
____________________________________________________
Code FarbeZeit:
Sub FarbeZeit()
Dim x As Integer
Dim festNr As Long
On Error GoTo Vorbei
x = -1
Do
x = x + 1
If Range("Tabelle2[Vorbedingung]").Range("A1").Offset(x, 0) = "" Then
festNr = Range("Tabelle2[Nr.]").Range("A1").Offset(x, 0).Value
Worksheets(2).Shapes("Zeit " & festNr).ShapeStyle = msoShapeStylePreset23
Else
festNr = Range("Tabelle2[Nr.]").Range("A1").Offset(x, 0).Value
With Tabelle1.Shapes("Zeit " & festNr).Fill
.Visible = msoTrue
.ForeColor.ObjectThemeColor = msoThemeColorAccent2
.ForeColor.TintAndShade = 0
.ForeColor.Brightness = 0.8000000119
.Transparency = 0
.Solid
End With
End If
Loop Until x > 300
Vorbei:
End Sub
Mit FarbeZeit allein klappt alles perfekt.
Mit FarbeZeit2 hinzu.
Sub FarbeZeit2()
Dim y As Integer
Dim festNr2 As Long
Dim festNr3 As Long
On Error GoTo Vorbei2
y = -1
Do
y = y + 1
If Range("Tabelle3[Vorbedingung]").Range("A1").Offset(y, 0) = "" Then
festNr3 = Range("Tabelle3[Nr.]").Range("A1").Offset(y, 0).Value
festNr2 = Range("Tabelle3[B]").Range("A1").Offset(y, 0).Value
Worksheets(2).Shapes("ZeitTeil " & festNr2 & " | Nr. " & festNr3).ShapeStyle =  _
msoShapeStylePreset21
Else
festNr3 = Range("Tabelle3[Nr.]").Range("A1").Offset(y, 0).Value
With Tabelle1.Shapes("ZeitTeil " & festNr2 & " | Nr. " & festNr3).Fill
.Visible = msoTrue
.ForeColor.ObjectThemeColor = msoThemeColorAccent2
.ForeColor.TintAndShade = 0
.ForeColor.Brightness = 0.8000000119
.Transparency = 0
.Solid
End With
End If
Loop Until y > 300
Vorbei2:
End Sub

Eigentlich müsste es ja so gehen, tut es aber leider nicht.
Beste Grüße
Leon

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Worksheet_Change zwei mal?
03.07.2019 16:36:56
Hajo_Zi
Hallo Leon,
nur wenige schauen auf Deinen Rechner und sehen die Datei.
Ich möchte gerne den Fehler im Original sehen.
Ich baue keine Datei nach. Die Zeit hat schon jemand investiert.
Ein Nachbau sieht meist anders aus als das Original. Darum sollte das Original verlinkt werden.
Wenn du an Stelle einer Demomappe deine Originalmappe hochladen willst, diese aber sensible Daten enthält, kannst du diese Daten anonymisieren bzw. pseudonymisieren.
Benutze hier im Forum die Funktion zum hochladen. Falls Du die nicht benutzen möchtest beachte, von unsicheren Servern wie z.B. www.file-upload.net lade ich keine Datei runter. (lt. Einschätzung meines Virenprogramms)

Beiträge von Werner, Luc, robert, J.O.Maximo und folgende lese ich nicht.
Die Beiträge werden auch ignoriert, es erfolgt keine Antwort.
Anzeige
AW: Worksheet_Change zwei mal?
03.07.2019 17:46:16
onur
"tut es aber leider nicht."?
So eine Aussage kannst du in die Tonne klopfen.
Was tut es nicht?
Was soll passieren und was passiert statt dessen?
Kommt eine Fehlermeldung und wenn ja, WELCHE und WO GENAU?

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige