Excel UserForm Hilfe?


06.05.2020, 20:15

Ist das so richtig?


06.05.2020, 21:20

Fehler Meldung


07.05.2020, 14:43

Fehler

1 Antwort

Du platzierst ein Textfeld für deinen belibigen Text auf der UserForm und ergänzend ein Textfeld für die Zelle, die beschrieben werden soll.
Option 1:
WriteToCell_Click() 'So könnte dein Button heißen der final die Dinge übernimmt
  Range(ZellAdresse.Text).Value = ZellInhalt.Text
In ZellAdresse.Text steht dann zum Beispiel "A1" drin.
Alternativ:
Bevor du den Übernahme Knopf drückst kannst du auch die Zelle(n) wo die daten hinsollen bereits auf dem Excel Sheet markieren, dann sieht der Code so aus:
   Range(Range.Selection).Value = ZellInhalt.Text


Renja126 
Beitragsersteller
 06.05.2020, 17:17

Ich bin mir nicht sicher ob wir das selbe meinen ich möchte das das was in das Textfeld eingeschrieben wird z.B. in "Anfangskapital" das das dann in der Excel liste in eingetragen wird. Ich habe noch ein par Fotos an die Frage angehängt.

letztendlich soll das Ganze ein Zinsrechner werden.

1
IchMalWiederXY  06.05.2020, 19:19
@Renja126

Na dann. Ne komplette Form für alles.
Bei der Übernahme deiner Daten aus Excel in die Formpassiert ein Fehler. 
Wenn ich es richtig erkenne hast du für die Ausgaben Labels verwendet.
Ich gehe jetzt mal davon aus, dass die Berechnung selbst, die aus den eingegebenen Daten zu erfolgen hat klar ist.
Dann also im Click Event (sobald du berechnen Klickst) das Ergebnis deiner Berechnung ins Label übertragen:
LabelEndKapital.Caption = EndKapitalErgebnis
Hinweis:
Da du TExtfelder für die Eingabe hast musst du die Daten ggf auf zulässige Eingabe überprüfen.
Stelle dies aber hinten an.
Hier mal ein Bsp für dein erstes Eingabe-Feld. 
Dim AnfangsKapital as long
Anfangskapital = Conversion.Cdec(TextFeldAnfangskapital.Text) 'Dies Zeile crashed, wenn du auch noch einen Buchstaben eingegeben hast.         

1
IchMalWiederXY  06.05.2020, 19:26
@IchMalWiederXY

Von Excel in die Form in deinem Initialize.
Zinsrechner.Anfangskapital.Text = Range("G2").Value
Analog dazu die anderen.
Achtung:
Startest du dein Tool im Workbook open Event dann bist du ggf nicht auf dem richtigen Sheet. Dann benötigst du zusätzlich: (sofern die Seite so heißt)
Zinsrechner.Anfangskapital.Text = Worksheets("Tabelle1").Range("G2").Value

1
Renja126 
Beitragsersteller
 06.05.2020, 20:16
@IchMalWiederXY

ich bin mir nicht sicher ob ich das richtig geordnet habe.

1
Renja126 
Beitragsersteller
 06.05.2020, 20:16
@Renja126

da so nämlich nicht funktioniert.

1
IchMalWiederXY  06.05.2020, 20:20
@Renja126

Richtig "geordnet" ? Deine UserForm darfst du unabhängig vom Excel aufbauen.
Welche Reihenfolge für den Anwender die "angenehmste" ist muss ein beta Test zeigen (Rückmeldungen) einholen. Für mich scheinen die Eingaben logisch gereit zu sein. Zahlungszeitpunkte pro Jahr benötigt man nicht unbedingt. Ist eine zusätzliche Komplexität. Wenn also jemand nichts einträgt ggf mit "einem" Jahr dennoch rechnen. 
==
Ist die Aufgabe eine userform zu schreiben ?
Geht eigentlich auch ohne VBA.  

1
IchMalWiederXY  07.05.2020, 13:19
@Renja126

mmhh. Welche Zeile wird bemängelt. Ggf im Einzelschritt (F8 drücken) bis zur Stelle die kracht vor-hangeln. Oft erkennt man dann auch was nicht gehen kann.
In der Berechnen_Click routine hast du "meine" Namen verwendet, die aber nur als Beispiel dienen sollten.
Ich weiß nicht wie deine Objekte heißen. Dies erkennst du wenn du das entsprechende anwählst und dann per rechter Maus "Eigenschaften" auswählst. Im Eigenschaften Fenster unter "Namen" lesen wie das Ding heißt und diesen Namen verwenden (Am besten einen 'eigenen Namen vergeben, der nicht so Label1, Label2 , .. ist sondern eine Aussage hat, was dahinter zu verstehen ist.  

0
Renja126 
Beitragsersteller
 07.05.2020, 14:44
@IchMalWiederXY

Ich habe den Namen jetzt umgeändert aber die Fehlermeldung kommt bei:
.AnfangsKapital

0