Anzeige
Archiv - Navigation
644to648
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
644to648
644to648
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Nur Zellformat schützen

Nur Zellformat schützen
03.08.2005 14:52:37
AlexT
Hallo,
habe folgendes Problem: Ich habe die gesamte Arbeitemappe geschützt, bis auf ein paar Zellen, wo Eingaben erfolgen sollen. Jedoch soll in diesen Zellen die Formate geschützt werden (Schriftart, Zahlenformat). Dh. der User darf zwar einen Wert in die Zelle eingeben, soll dann aber nicht die Formatierung ändern können. Ist das möglich?

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Nur Zellformat schützen
03.08.2005 15:18:45
Reinhard
Hi Alex,
zeichne dir ein makro auf in dem du für eine Zelle alle formatierungen einstellst wie du sie möchtest. Du erhälst dann so was wie makro1.
Dieses bastelst du so um dass es analog zum Worksheet_change Makro aussieht
Dann rechtsklick unten auf den Tabellennamen, Code anzeigen, Code reinkopieren, Editor schliessen.
Wenn für einzelen Zellen unterschiedliche Formate gelten sollen , dann lege eine Hilfstabelle an die in etwa so aussieht:

zelle  .HorizontalAlignment   .Borders(xlDiagonalUp).LineStyle   .Borders(xlEdgeLeft).LineStyle
a1          xlcontinus              xlnone                                usw.
h5          xlthick

Beachte die Zusammenfassung bei .Borders(xlEdgeLeft).LineStyle.
Die Spaltenüberschriften sind unwichtig, kannste auch abkürzen.
Diese Datei lädst du dann hier hoch. Daten braucht diese datei keine zu enthalten, nur die o.g Parameter pro zelle.
Gruß
Reinhard

Sub Makro1()
Selection.NumberFormat = "0.0000"
With Selection
.HorizontalAlignment = xlGeneral
.VerticalAlignment = xlCenter
.WrapText = False
.Orientation = 0
.AddIndent = False
.ShrinkToFit = False
.MergeCells = False
End With
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
With Selection.Borders(xlEdgeLeft)
.LineStyle = xlContinuous
.Weight = xlThick
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeTop)
.LineStyle = xlContinuous
.Weight = xlThick
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.Weight = xlThick
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeRight)
.LineStyle = xlContinuous
.Weight = xlThick
.ColorIndex = xlAutomatic
End With
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
With Target
.NumberFormat = "0.0000"
.HorizontalAlignment = xlGeneral
.VerticalAlignment = xlCenter
.WrapText = False
.Orientation = 0
.AddIndent = False
.ShrinkToFit = False
.MergeCells = False
.Borders(xlDiagonalDown).LineStyle = xlNone
.Borders(xlDiagonalUp).LineStyle = xlNone
With .Borders(xlEdgeLeft)
.LineStyle = xlContinuous
.Weight = xlThick
.ColorIndex = xlAutomatic
End With
With .Borders(xlEdgeTop)
.LineStyle = xlContinuous
.Weight = xlThick
.ColorIndex = xlAutomatic
End With
With .Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.Weight = xlThick
.ColorIndex = xlAutomatic
End With
With .Borders(xlEdgeRight)
.LineStyle = xlContinuous
.Weight = xlThick
.ColorIndex = xlAutomatic
End With
End With
End Sub

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige