Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
512to516
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
512to516
512to516
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

einfügen des programmiercodes???

einfügen des programmiercodes?
08.11.2004 16:09:47
Mogli
Hallo ich bin noch ziemlech neu mit vba programmierung , deshalb kommt jetzt womöglich eine sehr dumme frage und zwar folgende: Wenn ich eine Userform in Excel habe damit diese auch richtig funktioniert(mit knopf drücken, eingabe, etc), muss ich den programmiercode in die userform selbst eingeben oder kommt dieser in eine klasse ein modul und die userform übernimmt den code?den ich habe ein programm geschrieben zum berechnen einiger zahlen aber sobald ich den button zum ausführen anklicke und alle zahlen eigegeben habe gibt er mir immer den wert 0 zurück, egal wie meine eingaben sind. kann das vieleicht daran liegen oder dass ich nicht alles richtig deklariert habe, es sieht wiefolgt aus:Tbewertung,tdauer,tjahre sollen in der userform eingegeben werden.tgenerate soll den wert berechnen und in tbetrag anzeigen.tclose ist ein close button.diesen code hier habe ich ich in der userform selbst stehen kann es daran liegen?

Private Sub bclose_Click()
Unload Me
End Sub

--------------------------

Private Sub Tdauer_Enter()
Dim Tdauer As Single
End Sub

--------------------------

Private Sub Tbewertung_Enter()
Dim Tbewertung As Single
End Sub

-----------------------------

Private Sub Tjahre_Enter()
Dim Tjahre As Single
End Sub

--------------------------------

Private Sub Tbetrag_Change()
Dim Tbetrag As Single
MsgBox (Tbetrag)
End Sub

-----------------------------------

Private Sub bgenerate_Click()
Dim Tbetrag1 As Single
Dim Tbetrag2 As Single
Dim Tbetrag3 As Single
Dim I As Single
Dim Tdauer As Single
Dim B As Single
Dim Tjahre As Single
Dim D As Single
Dim Tbewertung As Single
If Tdauer >= 120 Then
For I = 120 To Tdauer
Tbetrag1 = Tbetrag1 + 0.05
Next I
End If
If Tbewertung >= 6 Then
For D = 6 To Tbewertung
Tbetrag2 = Tbetrag2 + 1
Next D
End If
If Tjahre >= 1 Then
For B = 1 To Tjahre
Tbetrag3 = Tbetrag3 + 3.5
Next B
End If
Tbetrag = Tbetrag1 + Tbetrag2 + Tbetrag1
End Sub

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: einfügen des programmiercodes?
ChrisL
Hi
Ich kann dir jetzt keinen VBA Grundkurs geben aber mal folgendes...

Private Sub Tdauer_Enter()
Dim Tdauer As Single
End Sub

--------------------------

Private Sub Tbewertung_Enter()
Dim Tbewertung As Single
End Sub

-----------------------------

Private Sub Tjahre_Enter()
Dim Tjahre As Single
End Sub

Dieser Teil macht kein Sinn und kannst du weglassen. Mit dem Dimensionieren von Variablen bist du zwar schon auf dem richtigen Weg, aber damit deklarierst du die Variable nur für die jeweilige Prozedur.
If Tdauer >= 120 Then
Mit Tdauer etc. sprichst du ja den Text der jeweiligen TextBox an. Nun beinhaltet eine TextBox immer eine Variable vom Typ String. Zum Umwandeln kenne ich zwei Varianten...
Dim sngDauer As Single
sngDauer = Tdauer
If sngDauer >= 120 Then
... oder ...
If CSng(Tdauer) >=120 Then
Beides hat aber das Problem, dass wenn mal einer kein "Single-Wert" in die TextBox einträgt bekommst du ein Error. Am besten mal in die Forums-Recherche gucken... Stichwort "TextBox nur Zahl" oder sowas. Auf die Schnelle eine Fehlerbehandlung:
On Error Goto ErrorHandler
' Dein Makro
Exit Sub
ErrorHandler:
MsgBox "Fehler blabla"
Dann zur For...Next Schleife. Die macht auch keinen Sinn. Da kannst du ja gleich plus 6 rechnen oder irgend eine Zahl.
Schliesslich der Code gehört nicht in ein Standardmodul sondern gleich ins Userform selbst... vermutlich nennt man es Klassenmodul Userform1 oder so.
Gruss
Chris
n.b. Beispieldatei als Anhang wäre hilfreich gewesen.
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige