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

Erweitern von einem Makro

Erweitern von einem Makro
28.01.2015 16:02:16
einem
Moin zusammen,
ich habe hier ein Makro, das funktioniert auch genau richtig, jetzt möchte ich nur gerne noch etwas hinzufügen, also es quasi um ein zwei Funktionen erweitern.
Hier der Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If InStr(Target.Address, ":") > 0 Or _
InStr(Target.Address, ";") > 0 Then
Exit Sub
End If
Application.EnableEvents = False
If Target.Column = 14 Then
If LCase(Target.Value) = LCase("Druck+Normung") Then
Target.Offset(0, 1).Value = Date
Range("A" & Target.Row & ":P" & Target.Row).Font.ColorIndex = 10
Else
Target.Offset(0, 1).Value = ""
Range("A" & Target.Row & ":P" & Target.Row).Font.ColorIndex = xlAutomatic
End If
If LCase(Target.Value) = LCase("3D fertig") Then
Target.Offset(0, -12).Value = Date
Else
'  Target.Offset(0, -11).Value = ""
End If
End If
If Not Intersect(Target, Range("A" & Target.Row & ":P" & Target.Row)) Is Nothing Then
If Target.Value  "" Then
' sbNewLine Target.Row
End If
End If
Application.EnableEvents = True
End Sub

Jetzt würde ich gerne noch, dass wenn ich Druck+Normung eingebe nicht nur die ganze Schrift grün wird, sondern auch, dass alle Felder in der betroffenen Zeile einen grünen Rahmen bekommen. Und außerdem soll die Schrift noch fett sein.
Wie müsste man den Code umschreiben, um das hinzubekommen?
Danke und liebe Grüße
Felix

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Erweitern von einem Makro
28.01.2015 16:16:38
einem
Hallo,
If Target.Column = 14 Then
If LCase(Target.Value) = LCase("Druck+Normung") Then
Target.Offset(0, 1).Value = Date
With Cells(Target.Row, 1).Resize(, 16)
With .Font
.ColorIndex = 10
.Bold = True
End With
With .Borders
.LineStyle = xlContinuous
.ColorIndex = 10
.Weight = xlThin
End With
End With
Else

Gruß
Rudi

AW: Erweitern von einem Makro
28.01.2015 16:36:17
einem
Hi Rudi,
das ist schon echt super :)
Kann man die Rahmenlinien vielleicht noch irgendwie bisschen dicker machen?

AW: Erweitern von einem Makro
28.01.2015 17:01:40
einem
Hallo,
aber sicher.
.Weight = xlMedium
oder noch dicker
.Weight = xlThick
Gruß
Rudi

Anzeige
AW: Erweitern von einem Makro
28.01.2015 18:55:37
einem
Super, danke :) Das klappt super!
Kleine Frage noch, wenn ich jetzt "Druck+Normung" lösche und etwas anderes in die Zelle eingebe, dann bleiben die Zellen so grün umrandet und auch die Schrift bleibt fett. Kann man das noch aus machen, also sobald da nicht mehr "Druck+Normung" steht, dass dann auch alle Zellen in der Zeile wieder ganz normal werden, also nicht mehr fett und keine grünen Rahmen.
Liebe Grüße
Felix

AW: Erweitern von einem Makro
28.01.2015 19:43:14
einem
Hallo,
setze im Else-Zweig
.font.bold=false
.borders.linestyle=xlnone
Gruß
Rudi

AW: Erweitern von einem Makro
29.01.2015 06:20:43
einem
Guten Morgen,
irgendwie klappt das nicht so recht. Sobald ich den Code da eingebe und in meiner Excel- Tabelle "Druck+Normung" eingebe, kommt eine Fehlermeldung.
Mein Code sieht so aus:
Private Sub Worksheet_Change(ByVal Target As Range)
If InStr(Target.Address, ":") > 0 Or _
InStr(Target.Address, ";") > 0 Then
Exit Sub
End If
Application.EnableEvents = False
If Target.Column = 14 Then
If LCase(Target.Value) = LCase("Druck+Normung") Then
Target.Offset(0, 1).Value = Date
With Cells(Target.Row, 1).Resize(, 16)
With .Font
.ColorIndex = 10
.Bold = True
End With
With .Borders
.LineStyle = xlContinuous
.ColorIndex = 10
.Weight = xlMedium
End With
End With
Else
.Font.Bold = False
.Borders.LineStyle = xlNone
Target.Offset(0, 1).Value = ""
Range("A" & Target.Row & ":P" & Target.Row).Font.ColorIndex = xlAutomatic
End If
If LCase(Target.Value) = LCase("3D fertig") Then
Target.Offset(0, -12).Value = Date
Else
'Die nächste grüne Funktion bedeuted, dass in der Spalte B der Zelleninhalt gelö _
scht wird
'  Target.Offset(0, -11).Value = ""
End If
End If
If Not Intersect(Target, Range("A" & Target.Row & ":P" & Target.Row)) Is Nothing Then
If Target.Value  "" Then
'Die nächste (grüne) Funktion bewirkt, dass die Auswahl in die nächste frei zelle  _
in der Spalte A springt
' sbNewLine Target.Row
End If
End If
Application.EnableEvents = True
End Sub

Grüße
Felix

Anzeige
AW: Erweitern von einem Makro
29.01.2015 10:53:39
einem
Hallo,
du kannst doch nicht einfach irgendwelche Anweisungen ohne Bezug in deinen Code schreiben.
Du solltest schon dein Hirn einschalten.
    If LCase(Target) = "druck+normung" Then
Target.Offset(0, 1) = Date
With Cells(Target.Row, 1).Resize(, 16)
With .Font
.ColorIndex = 10
.Bold = True
End With
With .Borders
.LineStyle = xlContinuous
.ColorIndex = 10
.Weight = xlMedium
End With
End With
Else
Target.Offset(0, 1) = ""
With Cells(Target.Row, 1).Resize(, 16)
.Font.Bold = False
.Borders.LineStyle = xlNone
.Font.ColorIndex = xlAutomatic
End With
End If
Gruß
Rudi

Anzeige
AW: Erweitern von einem Makro
29.01.2015 13:49:05
einem
Klappt. Danke!

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige