Microsoft Excel

Herbers Excel/VBA-Archiv

Spreadsheet

Betrifft: Spreadsheet
von: Ingo
Geschrieben am: 22.04.2003 - 10:37:49

Hi @all,

hoffe ihr habt Ostern gut überstanden...

ich so ein paar Fragen zum Thema Spreadsheet, vielleicht kann mir ja einer von euch weiterhelfen.

1. Wie kann ich die Eingaben in einem Spreadsheet kontrollieren?
--in Spalte 3 sollen zB nur Numerische Werte angenommen werden und statt ein Komma immer ein Punkt als Trenner benutzt werden! Ich hatte vorher alle Eingaben über Textfelder realisiert. Dort war es über das KeyPress Event ein Leichtes falsche Eingaben direkt zu unterbinden. Wurde ein Komma eingegeben wurde die Eingabe einfach ignoriert usw.. Aber wie mache ich dies in einem Spreadsheet?
2. Wie kann man verhindern das an der Form der Tabelle rumhantiert wird? So sollen zum Beispiel die Spaltenbreiten gelockt sein und auch die Eigenschaften des Spreadsheets sollten nicht erreichbar sein.

Das wichtigste bei der Sache ist allerdings, dass alles ziemlich dynamisch gehalten werden muss, da die Tabelle während des Programms dynamisch erstellt wird und so Zeilen und Spaltenzahl variieren...

Ich hoffe ihr könnt mir weiterhelfen.

Thnx Ingo

  

Re: Spreadsheet
von: Harald Neumann
Geschrieben am: 22.04.2003 - 11:49:59

Hallo Ingo,

Im Menü Daten / Gültigkeit kann man Einschränkungen eingeben.

Wenn dies per Programm erfolgen soll, da Deine Tabellen dynamisch sind, hier ein Beispiel:

With Selection.Validation
.Delete
.Add Type:=xlValidateDecimal, AlertStyle:=xlValidAlertStop, Operator _
:=xlBetween, Formula1:="1", Formula2:="100"
.IgnoreBlank = True
.InCellDropdown = True
.ErrorTitle = "Fehler"
.ErrorMessage = "Fehler"
.ShowError = True
End With

Gegen Änderungen schützt Du ein Arbeitsblatt oder Workbook mit
Extras / Schutz / Blatt

  

Re: Spreadsheet
von: Ingo
Geschrieben am: 22.04.2003 - 14:48:05

Hi Harald,

erstemal danke allerdings kann ich das nicht wirklich auf Problem anwenden. Ich arbeite nicht mit einem Worksheet sondern mit einem Spreadsheet in einer UserForm. Alle Felder müssen für einen späteren Export als String gehalten werden. Jetzt soll schon während der Eingabe verhindert werden, dass jemand statt ein Punkt ein Komma eingibt oder vielleicht sogar mehrere Punkte setzt. Ich darf das Feld jedoch nicht als Decimal formatieren...
Genauso darf es nicht passieren, dass ein Wert automatisch in ein Datum oder ähnliches umformatiert wird, unabhängig von der Ländereinstellung...

Gibts es die Möglichkeit nur bestimmte Zahlen oder Buchstaben schon während der Eingabe in eine Spreadsheet zu blocken? Wenn nein, wie kann ich nach der Eingabe einen möglichst einfachen Test durchführen. Ich habe jetzt Test eingebaut die Zeichen für Zeichen den String durchsuchen. Allerdings generiert Excel trotzdem manchmal ein Datum obwohl es eine Decimalzahlö sein soll.


  

Re: Spreadsheet
von: Harald Neumann
Geschrieben am: 22.04.2003 - 15:15:44

Hallo Ingo,

da bin ich jetzt auch überfragt.

Sorry.

Gruss Harald

 

Beiträge aus den Excel-Beispielen zum Thema "Spreadsheet"