Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
536to540
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
536to540
536to540
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Zellen nur über userform verändern

Zellen nur über userform verändern
21.12.2004 14:00:11
Tristan
Hallo Freunde,
ich habe eine 0815 User - Form erstellt, in der Daten eingegeben und in jeweilige Zellen geschrieben werden. Jetzt habe ich 2 Fragen:
1.
Ich hätte gerne, dass die Daten nicht zeitgleich in die Zellen eingefügt werden sondern erst nach bestätigen in der User - Form. Wenn ich also z.B. in ein TExtfeld irgend etwas eingebe soll das nicht gleich in der Zelle erscheinen sondern erst wenn ich alle Textfelder ausgefüllt und auf dem Command-Button den Vorgang abgeschlossen habe. Wie bekomme ich das denn hin?
2.
Ich möchte verhindern, dass Benutzer des Sheets die Werte direkt in der Excel-Tabelle eingeben / verändern können. Ich möchte, dass man die Werte nur eingeben kann, wenn man das Makro aufruft und die Werte in der dafür vorgesehenen User-Form eingibt.
Ich hoffe ihr versteht was ich meine. Vielen DAnk schonmal für evtl. Ideen.
Tristan

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zellen nur über userform verändern
21.12.2004 14:21:40
Harald E
Hallo Tristan,
mit kompetenter Hilfe dieses Forums habe ich folgenden Code erstellt.
Allerdings trägt er die Werte nach OK einzeln und sofort ein.
Commandbutton in die Tabelle und diesen Code ins Blatt.


Private Sub CommandButton1_Click()
Dim sW(5) As Single
Dim rz As Integer
rz = Cells(2, 30).End(xlToLeft).Column + 1 'Cells anpassen
Cells(2, rz).SelectOn Error GoTo Schutz:
ActiveSheet.Unprotect "Passwort"
For i = 1 To 5 ' Anzahl der Eingaben, die untereinander stehen
While sW(i) < Range("b54") Or sW(i) > Range("a44") 'Schleife wiederholt sich, bis Eingabe innerhalb Grenzen, in A44 bzw. B54 stehen die Ober- und Untergrenzen
sW(i) = CSng(InputBox(i & ". Wert eingeben" & vbCrLf & vbCrLf & _
"Werte kleiner " & Range("b54") & " und größer " & Range("a44") & _
" werden abgewiesen !", "Eingabe"))
Wend
ActiveCell.Offset(i - 1, 0) = sW(i)
Next
Schutz:
MsgBox "Schützen ?"
ActiveSheet.Protect "Passwort"
End Sub

Viel Spass beim Basteln ;-))
Gruß
Harald
Anzeige
AW: Zellen nur über userform verändern
21.12.2004 14:47:19
Tristan
Danke Harald für deinen Vorschlag,
leider funktioniert das mit dem Zellschutz nicht. Wenn ich das einbaue, ist die Tabelle komplett gesperrt, das heißt auch wenn ich über die Userform etwas eingebe können die Werte nicht geschrieben werden, das wird durch den Blattschutz verhindert. Hast du noch eine andere Idee?
Danke,
Tristan
AW: Zellen nur über userform verändern
21.12.2004 15:24:19
u_
Hallo,
Blatt per Makro schützen, mit userinterfaceonly.

Sub schutz()
Sheets(1).Protect Password:="Test", userinterfaceonly:=True
End Sub

AW: Zellen nur über userform verändern
21.12.2004 15:33:51
Heiko S.
Zu 1. und 2.
Um das schreiben der Daten erst nach betätigen des Commandbuttons auszuführen gehst du so vor. Denn Blattschutz mußt du vorher per Hand (Unter EXTRAS - SCHUTZ) aktivieren und dann kann man nur noch per VBA oder von dir weil du das Passwort kennst das Blatt geändert werden.

Private Sub CommandButton1_Click()
ActiveSheet.Unprotect ("passwort")
ActiveSheet.Range("A1").Value = ComboBox1.Value
ActiveSheet.Range("A2").Value = ComboBox2.Value
ActiveSheet.Range("A3").Value = TextBox1.Value
ActiveSheet.Protect ("passwort")
End Sub

Wenn du viele Zellen zu beschrieben hast kanst du auch eine With Funktion einbauen, um weniger zu tippen.
passwort sollte natürlich von dir mit einem bessern Passwort ersetzt werden.
Damit keiner dein Passwort lesen kann solltest du unter VBA EXTRAS - EIGENSCHAFTEN VOM VBAProjekt - SCHUTZ - Projekt für Anzeige sperren und ein Passwort eingeben.

Das ganze ist ungetestet müßte aber so in der Form laufen.
Gruß Heiko
PS: Das Forum lebt auch von den Rückmeldungen der Frager!
Anzeige

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige