Registriert seit: 11.11.2016
Version(en): 2010
Hallo Zusammen
Ich benötige eure Hilfe... Und zwar habe ich für meine MAS Arbeit ein Tool entwickelt und es funktioniert auch alles auf meinem PC. Nun muss dieses Tool aber auch auf dem PC im Geschäft laufen...tut es aber nicht :(
Und zwar habe ich einen Button, welcher meine Eingabemaske aufrufen sollte. sobald ich aber diesen Button drücke, kommt der Laufzeitfehler 13. In VisualBasic wird folgende Zeile gelb hinterlegt:
Private Sub txtVerzinsungPK_Change ()
With Worksheets ("Tool")
.Range ("B38") = CDbl (txtVerzinsungPK)
End With
End Sub
Irgendwie kann ich mir diesen Fehler nicht erklären.
Vielen Dank für eure Hilfe/Inputs.
LG Renato
Registriert seit: 04.04.2017
Version(en): 2013
Hallo Renato,
puh, das ist ja ne harte Nuss, die Du da zu knacken hast.
[sarcasm]Ich bin mir allerdings ziemlich sicher, dass der Fehler in Zeile 42 liegt.[/sarcasm]
Dein Laufzeitfehler 'Typen unverträglich' ist doch sehr aussagekräftig...
Registriert seit: 12.10.2014
Version(en): 365 Insider (32 Bit)
Moin!
Und am Rande …
Das _Change-Event der Textbox ist für den Übertrag in eine Zelle denkbar ungeeignet.
Entweder Du nimmst das _Exit (vorherige Prüfung incl.)
oder (besser) Du überträgst erst vor Schließen des UserForm (vorherige Prüfung incl.).
Ansonsten (um Zeile 42 des Codes zu überprüfen :21:) lädst Du mal die Datei hoch.
Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag.
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Registriert seit: 11.11.2016
Version(en): 2010
Habe ich schon erwähnt, dass ich nicht wirklich der Excel Profi bin :)
Das Excel File kann ich aufgrund der sensiblen Daten nicht hochladen...hier wäre der ganze Code der Eingabemaske:
Code:
Private Sub ComboBoxBeruf_Change()
With Worksheets("Tool")
.Range("B11") = ComboBoxBeruf
End With
End Sub
Private Sub CommandButton1_Click()
'fügt die eingetragenen Werte ins File
Unload Eingabemaske
End Sub
Private Sub CommandButton2_Click()
'schliesst das Formular Eingabe Personalien
Unload Eingabemaske
End Sub
Private Sub Label2_Click()
End Sub
Private Sub txt3Säule_Change()
With Worksheets("Tool")
.Range("B73") = CDbl(txt3Säule)
End With
End Sub
Private Sub txtAnlagen_Change()
With Worksheets("Tool")
.Range("B67") = CDbl(txtAnlagen)
End With
End Sub
Private Sub txtAnzahlmonate_Change()
With Worksheets("Tool")
.Range("B19") = txtAnzahlmonate
End With
End Sub
Private Sub txtBeitragsjahre_Change()
With Worksheets("Tool")
.Range("B14") = txtBeitragsjahre
End With
End Sub
Private Sub txtBruttolohn_Change()
With Worksheets("Tool")
.Range("B17") = CDbl(txtBruttolohn)
End With
End Sub
Private Sub txtBudget_Change()
With Worksheets("Tool")
.Range("B16") = CDbl(txtBudget)
End With
End Sub
Private Sub txtGeburtsdatum_Change()
With Worksheets("Tool")
.Range("B9") = txtGeburtsdatum
End With
End Sub
Private Sub txtGeschlecht_Change()
With Worksheets("Tool")
.Range("B6") = txtGeschlecht
End With
End Sub
Private Sub txtKinder_Change()
With Worksheets("Tool")
.Range("B12") = txtKinder
End With
End Sub
Private Sub txtLiquidität_Change()
With Worksheets("Tool")
.Range("B66") = CDbl(txtLiquidität)
End With
End Sub
Private Sub txtName_Change()
With Worksheets("Tool")
.Range("B7") = txtName
End With
End Sub
Private Sub txtpa_Change()
With Worksheets("Tool")
.Range("B75") = CDbl(txtpa)
End With
End Sub
Private Sub txtPKGuthaben_Change()
With Worksheets("Tool")
.Range("B25") = CDbl(txtPKGuthaben)
End With
End Sub
Private Sub txtSparquoteAllgemein_Change()
With Worksheets("Tool")
.Range("B68") = CDbl(txtSparquoteAllgemein)
End With
End Sub
Private Sub txtSzenarioI_Change()
With Worksheets("Tool")
.Range("B39") = CDbl(txtSzenarioI)
End With
End Sub
Private Sub txtSzenarioII_Change()
With Worksheets("Tool")
.Range("C39") = CDbl(txtSzenarioII)
End With
End Sub
Private Sub txtSzenarioIII_Change()
With Worksheets("Tool")
.Range("D39") = CDbl(txtSzenarioIII)
End With
End Sub
Private Sub txtVerzinsung_Change()
With Worksheets("Tool")
.Range("B74") = CDbl(txtVerzinsung)
End With
End Sub
Private Sub txtVerzinsungPK_Change()
With Worksheets("Tool")
.Range("B38") = CDbl(txtVerzinsungPK)
End With
End Sub
Private Sub txtVerzinsungSparquote_Change()
With Worksheets("Tool")
.Range("B69") = CDbl(txtVerzinsungSparquote)
End With
End Sub
Private Sub txtVorname_Change()
With Worksheets("Tool")
.Range("B8") = txtVorname
End With
End Sub
Private Sub txtZivilstand_Change()
With Worksheets("Tool")
.Range("B13") = txtZivilstand
End With
End Sub
Private Sub UserForm_Initialize()
'Werte beim aufruf des Formulares wird automatisch eingetragen
With Me
.txtBeitragsjahre.Value = 44
.txtAnzahlmonate.Value = 12
.txtpa.Value = 6768
.txtVerzinsungPK = 0.02
.txtSzenarioI = 0.068
.txtSzenarioII = 0.05
.txtSzenarioIII = 0.04
.txtVerzinsung = 0.005
.txtVerzinsungSparquote = 0.01
End With
With Worksheets("Tool")
Me.ComboBoxBeruf.RowSource = "S12:S56"
End With
End Sub
Registriert seit: 12.10.2014
Version(en): 365 Insider (32 Bit)
Ich wiederhole mich:
Change ist Tinnef, weil bei jedem eingegebenen Zeichen in der TextBox die Zelle aktualisiert wird.
Wenn Du einen TEXT, der wie eine ZAHL aussieht, übergeben willst, musst Du ihn wie Du es ja auch machst, mittels CDbl() oder CInt() oder TEXT*1 oder TEXT+0 oder … in eine Zahl umwandeln.
Wenn da jetzt aber etwas in die TextBox eingegeben wird, was sich NICHT in eine Zahl umwandeln lässt (Buchstabe, Sonderzeichen, Leerzeichen, …) läuft Dein Code in besagten Fehler!
Langer Rede, kurzer Sinn:
Prüfe auf IsNumeric(TextBox.Value)
Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag.
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Registriert seit: 11.11.2016
Version(en): 2010
Sorry Ralf...aber verstehe z.t. nur Bahnhof...:/
wo soll ich diesen code einsetzen? zwischen jedem Prvate Sub und end Sub?
Aber das komische ist ja...das file funktioniert auf meinem PC...nur wenn ich es auf einem anderen PC anwenden möchte, funktioniert es nicht.
Registriert seit: 12.10.2014
Version(en): 365 Insider (32 Bit)
Zitat:funktioniert es nicht
"Es" funktioniert nicht, wenn Du einen Buchstaben oder ein Sonderzeichen eingibst.
Zitat:Das Excel File kann ich aufgrund der sensiblen Daten nicht hochladen
Dann lass es oder anonymisiere "empfindliche" Daten.
Ansonsten wird Dir niemand weitergehendere Tipps als meinen bisher Gegebenen schenken können.
Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag.
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Registriert seit: 11.11.2016
Version(en): 2010
Lieber Ralf
Das File Funktioniert auf meinem PC Einwandfrei. Wenn ich es auf einen USB Stick kopiere oder via E-Mail sende funktioniert es nicht mehr. Nicht die Eingabe funktioniert nicht...sondern bereits beim Drücken des Buttons erfolgt der Bug13...Ich komme nicht soweit um ein Zeichen, Zahl oder Sonderzeichen einzugeben.
Registriert seit: 04.04.2017
Version(en): 2013
(30.05.2017, 13:05)RPP63 schrieb: Dann lass es oder anonymisiere "empfindliche" Daten.
Ansonsten wird Dir niemand weitergehendere Tipps als meinen bisher Gegebenen schenken können.
Registriert seit: 12.10.2014
Version(en): 365 Insider (32 Bit)
Liebster *ohneName*!
Ohne Datei kann und will ich Dir nicht helfen!
Dies ist kein Affront, sondern folgerichtig.
Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag.
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)