Hallo zusammen,
folgende Erläuterung zu meiner aktuellen Situation:
ich erstelle für die Arbeit gerade eine Excel Tabelle mit der man Gebäudegutachten relativ selbstständig bearbeiten kann
dass heisst, das Dinge wie Gebäudetyp oder Schadensarten über eine UserForm eingetragen werden können. Nun habe MultiPages
erstellt mit 2 Pages und ich möchte auch noch MultiPages mit 3 Pages erstellen. Jede Page soll für einen anderen Werkstoff
stehen, indem verschieden Schadensarten aufgeführt sind die nachher mit einer Formel zu einem bestimmten Zustand ermittelt werden
(gut, mittel oder schlecht). Es sind also TextBoxes vorhanden in die Prozentwerte eingetragen werden und diese werden in eine
Tabelle übertragen. So viel zu meiner Idee.
Meine Frage ist letztendlich, wie kann ich eine oder zwei andere Pages automatisch "sperren" wenn ich bei der einen Page
Werte eingetragen habe und diese über einen CommandButton "Übernehmen" in die Tabelle eintragen will, ohne das in allen
3 Pages unterschiedliche Zahlenwerte eingetragen werden können. Die anderen Pages sollen sichtbar bleiben. Ich habe einen Button eingefügt,
der die Zellen in der Tabelle bei Excel und die TextBoxes der Userform automatisch leert wenn dieser betätigt wird. Erst dann
sollte es wieder möglich sein eine andere Page anzuklicken und diese auszufüllen.
Ich hoffe, ich habe alles einigermaßen verständlich erklärt und ihr könnt mir bei meinem Problem helfen, gerne nehme ich auch
allgemeine Verbesserungsvorschläge zu meinem angefügten Code entgegen ;)
Option Explicit
Private Sub CommandButton1_Click()
Application.ScreenUpdating = False
'Werte aus den Textboxen in die Tabelle einlesen
Cells(17, 9).Value = TextBox1.Value
Cells(17, 8).Value = TextBox2.Value
Cells(17, 7).Value = TextBox3.Value
Cells(17, 6).Value = TextBox4.Value
Cells(17, 5).Value = TextBox5.Value
End Sub
Private Sub CommandButton2_Click()
Unload Tragende_AW
End Sub
Private Sub CommandButton3_Click()
ActiveSheet.Range("E17:I17").ClearContents 'Zellen in der Tabelle leeren
Dim objControl As Control
For Each objControl In Controls 'Textboxen in der UserForm leeren
Select Case TypeName(objControl)
Case "TextBox"
objControl.Text = ""
End Select
Next
End Sub
Private Sub UserForm_Initialize()
TextBox1.Value = Cells(17, 9).Value
TextBox2.Value = Cells(17, 8).Value
TextBox3.Value = Cells(17, 7).Value
TextBox4.Value = Cells(17, 6).Value
TextBox5.Value = Cells(17, 5).Value
End Sub
|