ich verzweifele hier leider.
1.Ich habe mit folgendem Befehl eine Textbox formatiert:
Private Sub txtEraMitarbeiter_Change()
FormularMitarbeiter.txtEraMitarbeiter.Value = Format(FormularMitarbeiter.txtEraMitarbeiter. _
Value, "###0.00 %")
End Sub
Werden nun die Daten aus der Excel Datei in die Textbox über folgenden Befehl eingelesen werden die auch richtig angezeigt.
Private Sub ComboEraJahr_Change()
'Daten aus Spalte B und aktueller ZeilenNr in Textbox übertragen
txtEraMitarbeiter.Text = Sheets("ERA").Cells(ComboEraJahr.ListIndex + 1, 8)
txtEraAzubi1.Text = Sheets("ERA").Cells(ComboEraJahr.ListIndex + 1, 9)
txtEraAzubi2.Text = Sheets("ERA").Cells(ComboEraJahr.ListIndex + 1, 10)
txtEraAzubi3.Text = Sheets("ERA").Cells(ComboEraJahr.ListIndex + 1, 11)
txtEraAzubi4.Text = Sheets("ERA").Cells(ComboEraJahr.ListIndex + 1, 12)
End Sub
Gebe ich jetzt eine Wert manuell in die Textbox ein, zeigt er mir anstatt z.B 1%, 100% an.
Lösche ich den Befehl Textbox formatieren und lese den Wert in das Tabellenblatt aus, so nimmt er die Formatierung des Tabellenblatts nicht an. (brauche aber % weil die Berchnung in einer anderen Zelle sonst nicht stimmt).
Ich möchte den eingetragenen Wert von der Textbox in das Tabellenblatt so übertragen, dass der _ Wert als Prozent Formatiert in das Tabellenblatt eingetragen wird. Dieses soll aber vorher abgefragt werden und falls ich abbrechen möchte soll der Wert nicht übertragen werden. Leider weiss ich nicht was ich bei =vbNo Then ..... eintragen soll. Meine Überlegung wie unten klappt leider nicht. Startet zwar neu, aber der Wert wird trotzdem ins Tabellenblatt übermittelt.
Private Sub cmdEra_Click()
'Fragt ab ob Tariferhöhung wirklich übernommen werden soll
If MsgBox("Möchtest du den die Tariferhöhung wirklich übernehmen?", vbYesNo) = vbNo Then
Unload Me
FormularMitarbeiter.Show
End If
'Fügt die eingetragenen Werte in Era ein und schliesst das Formular
Dim intErsteLeereZeile As Long
intErsteLeereZeile = ActiveSheet.Cells(Rows.Count, 2).End(xlUp).Row + 1
ActiveSheet.Cells(intErsteLeereZeile, 1).Value = Me.txtEraMitarbeiter.Value
ActiveSheet.Cells(intErsteLeereZeile, 1).Value = Me.txtEraAzubi1.Value
ActiveSheet.Cells(intErsteLeereZeile, 1).Value = Me.txtEraAzubi2.Value
ActiveSheet.Cells(intErsteLeereZeile, 1).Value = Me.txtEraAzubi3.Value
ActiveSheet.Cells(intErsteLeereZeile, 1).Value = Me.txtEraAzubi4.Value
Unload FormularMitarbeiter
FormularMitarbeiter.Show
End Sub
Würde mich sehr freuen hier eine Lösung zu bekommen. (Ich denke für euch kein Problem)
Vielen Dank