PDA

Vollständige Version anzeigen : Werte gegen Veränderung schützen


Adiag
07.02.2006, 15:33
Ich möchte meine Buchführung mit Excel erledigen. Hierfür möchte ich um zwei Informationen bitten:

Kann man Excel (2002) so einrichten, das die Werte nach Eingabe oder nach Zeilenwechsel sofort gespeichert und gegen Veränderungen gesichert sind und wie baut man ein Optionsfeld in eine Zeile, welches veranlassen soll, entweder keine, 7% oder 16% Umsatzsteuer zu berechnen?

MfG Adiag

jinx
07.02.2006, 17:21
<font size="2" face="Century Gothic">Moin, Adiag,

Excel bietet das automatische Speichern wie eine Datenbank beim Verlassen einer Zelle nicht an, dies kann nur per VBA erreicht werden (Sperren des Betretens der Zellen und Zellschutz für die Zellen, die Werte enthalten).

Optionsbuttons erscheinen mir der falsche Weg, da immer nur ein Zustand an oder aus sein kann. Daten/Gültigkeit erscheint mir als besserer Weg...</font>

Adiag
07.02.2006, 17:55
Vielen Dank,

eigentlich wollte ich das ganze ja mal mit Access machen, wäre für mich aber ein "Vollzeitjob" Ich finde es auch besser wenn man die kompletten Daten vor sich hat - nur das versehentliche Ändern oder Löschen wäre katastrophal.
Wie kann ich den von Dir genannten VBA Code "Sperren des Betretens der Zellen und Zellschutz für die Zellen, die Werte enthalten" realisieren?

Mit der Gültigkeitsregel muß ich nich erstmal beschäftigen.

Danke nochmal für die Infos

Adiag

jinx
07.02.2006, 18:03
<font size="2" face="Century Gothic">Moin, Adiag,

per Nutzung der Ereignisse Worksheet_SelectionChange oder Worksheet_Change - das erste Ereignis tritt bei Setzen des Zellzeigers, das zweite nach einer direkten Eingabe in die Tabelle ein (und wäre daher in meinen Augen eher geeignet, einen Schutz aufzubauen). Setzen des Schutzes bei Zelle formatieren auf geschützt und setzen eines Blattschutzes für die Tabelle.

Daten/Gültigkeit: Auswahlliste Monat (http://www.ms-office-forum.net/forum/showthread.php?t=54960) von MRR, als er noch Pepi hieß... ;)</font>

Adiag
07.02.2006, 19:34
o.k. ich hab jetzt im VBA Editor meiner Tabelle beide Einträge

Private Sub Worksheet_Change(ByVal Target As Range)

End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

End Sub

Jetzt muß ich bei der ersten Prozedur sicher noch Anweisungen einfügen oder?
Übrigens die Listenauswahl per Gültigkeit hat prima funktioniert - Danke

Adiag

jinx
07.02.2006, 19:42
<font size="2" face="Century Gothic">Moin, Adiag,

möglicherweise kann Dir das folgende Vorgehen helfen:

Option Explicit

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
' Bei Eingabe von Werten in die Zellen z.B.
ActiveSheet.Unprotect
Cells.Locked = False
With Columns("A:E").SpecialCells(xlCellTypeConstants, 23)
.Locked = True
.FormulaHidden = False
End With
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
End Sub</font>

Adiag
07.02.2006, 21:22
Sorry komme ich leider nicht mit. Ich werde eben öfter mal speichern und nur die nötigsten Spalten freigeben.

Nochmals vielen Dank

Adiag

jinx
07.02.2006, 21:30
<font size="2" face="Century Gothic">Moin, Adiag,

guter Beitrag, der mir als Antworter keine Möglichkeit gibt, irgendwie helfend einzugreifen - ich weiß nicht, was nicht funktioniert oder anders aufgebaut werden muss... Kannst Du mich da erleuchten? :rolleyes:</font>