Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1312to1316
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
Inhaltsverzeichnis

Hilfe bei einem Code

Hilfe bei einem Code
01.06.2013 08:22:51
Frank
Hallo Zusammen und allen ein schönes WE!
Ich nutze folgenden Code:
Private Sub CommandButton1_Click()
'Eintragen
Dim wks As Worksheet
Dim Datum1 As Date, Datum2 As Date
Dim Zeile1 As Long, Zeile2 As Long
Set wks = Worksheets(1) 'Tabelle in die eingetragen wird - Name anpassen!!!
With wks
'Datum aus Textbox1 einlesen
If IsDate(Me.TextBox1) Then
Datum1 = CDate(Me.TextBox1.Text)
Else
MsgBox "Kein Datum in Textbox1"
GoTo Beenden
End If
'Zeile mit Datum in Textbox 1 suchen
For Zeile1 = 2 To .Cells(.Rows.Count, 81).End(xlUp).Row
If IsDate(.Cells(Zeile1, 81)) Then
If .Cells(Zeile1, 81).Value = Datum1 Then
'Werte in Textboxen 9 bis 12 in Spalte 77 eintragen
For Zeile2 = 0 To 3
If Me.Controls("Textbox" & Format(9 + Zeile2, "0")) = "" Then
.Cells(Zeile1, 97).Offset(Zeile2, 0).Value = ""
Else
.Cells(Zeile1, 97).Offset(Zeile2, 0).Value = Me.Controls("Textbox" & Format(9 +  _
Zeile2, "0")).Value
End If
Next
Exit For
End If
End If
Next
'Datum aus Textbox13 einlesen
If IsDate(Me.TextBox13) Then
Datum2 = CDate(Me.TextBox13.Text)
Me.TextBox13.Text = Format(Datum2, "DD.MM.YYYY")
If Datum2 >= Datum1 + 4 Then
'Zeile mit Datum in Textbox 13 suchen
For Zeile2 = Zeile1 To .Cells(.Rows.Count, 81).End(xlUp).Row
If IsDate(.Cells(Zeile1, 81)) Then
If .Cells(Zeile2, 81).Value = Datum2 Then
Exit For
End If
End If
Next
.Range(.Cells(Zeile1, 97), .Cells(Zeile1 + 3, 97)).AutoFill _
Destination:=.Range(.Cells(Zeile1, 97), .Cells(Zeile2, 97)), _
Type:=xlFillCopy
Else
MsgBox "Datum in Textbox13 weniger als 4 Tage größer als Textbox1 - kein Autofill"
End If
Else
MsgBox "Kein Datum in Textbox13 - kein Autofill"
End If
End With
Beenden:
End Sub

Die Werte aus den TextBoxen 9-12 werden auch in die Tabelle geschrieben.
Nun meine Frage:
Wie muss ich das Stück ändern, das dann mit den Werten gerechnet wird.
Me.Controls("Textbox" & Format(9 + Zeile2, "0")).Value
Danke!
Gruß Frank H.

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Hilfe bei einem Code
01.06.2013 08:44:04
Beverly
Hi Frank,
da in einer TextBox immer Text steht - wie der Namen schon sagt - musst du den Inhalt mit 1 multiplizieren
Me.Controls("Textbox" & Format(9 + Zeile2, "0")).Value * 1
oder du wandelst den Inhalt direkt in eine Zahl um
CDbl(Me.Controls("Textbox" & Format(9 + Zeile2, "0")).Value)


AW: Hilfe bei einem Code
01.06.2013 08:44:16
Luschi
Hallo Frank,
da Textboxen immer Text enthalten, egal wie der Wert in der Textbox aussieht, muß man ihn in eine Zahl umwandeln:
CDbl(Me.Controls("Textbox" & Format(9 + Zeile2, "0")).Value) ' bei Kommawerten
oder
Clng(Me.Controls("Textbox" & Format(9 + Zeile2, "0")).Value) 'bei ganzzahligen Werten
Bei Kommawerten ist zu beachten, daß das Dezimalkomma verwendet wird und nicht der Punkt,
sonst schreit CDbl() laut 'Hilfe'.
Aber das kann man im Formular schon bei der Eingabe der Werte in die Textbox abfangen.
Gruß von Luschi
aus klein-Paris

Anzeige
AW: Hilfe bei einem Code
01.06.2013 09:03:45
Frank
Hallo Ihr Zwei!
Es ist mir echt peinlich, aber ich sag's euch. So wie Karin es vorgeschlagen hat, hatte ich es auch schon, aber da mein Multiplikator gleich Null war, war auch mein Ergebnis gleich Null und ich "Idiot" dachte, dann muss es wohl am Code liegen.
Na jedenfalls ist nun alles schön und ich bin zufrieden. Danke euch herzlichst!
Gruß Frank H.

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige