Code vereinfachen
18.11.2015 12:34:23
Fabi
kann mir vielleicht jemand helfen diesen Code zu vereinfachen,
sofern es möglich ist?
Vielleicht kann man das auch eleganter lösen das Ganze.
Ich bin für alle Vorschläge offen.
Erklärung:
Ich habe 3 Bereiche A B C --Zeile 6,12 und 18
Ich möchte, dass die Zeilengröße immer wieder auf eine bestimmte Größe zurück gesetzt wird, wenn keiner dieser 3 Bereiche ausgewählt wird.
Wenn eine Zelle dieses Bereiches ausgewählt wir, dann prüft der Code, ob Text enthalten ist. Wenn das der Fall ist, dann macht der Code eine automatische Zeilengröße.
Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Intersect(Target, Range("Bereich_A,Bereich_B,Bereich_C")) Is Nothing Or ActiveCell.Value _
= "" Then
'wenn Zelle leer oder anderer Bereich ausgewählt ist
If Union(Rows(6), Rows(12), Rows(18)).RowHeight = 96 Then
Exit Sub
Else
' Call Aufheben
Union(Rows(6), Rows(12), Rows(18)).RowHeight = 96
End If
Else
'wenn in Zelle Text und ein Bereich ausgewählt ist
Call Aufheben
ActiveCell.Rows.AutoFit
End If
' Call Schutz
End Sub
Grüße Fabi