Forums Neueste Beiträge
 

Excel 2007 VBA

15/05/2008 - 08:37 von Reinhold Diels | Report spam
Mir dem nachstehenden Code habe ich versucht, eine Userform zum Laufen zu
bringen. Sie soll abgefragte Werte in bestimmte Zellen mehrerer Tabellen
eintragen. Aber leider übernimmt er die Eingabewerte nicht in die Tabelle.
Meine Eingaben sind wie folgt:

Private Sub Übernehmen_Click()
If CheckTextBoxes(1, 11) = True Then
SetDateValues wks:=Worksheets("Tabelle1"), IngDT:=1, IngTo:,
IngTB:=0 End If If CheckTextBoxes(12, 21) = True Then SetDateValues
wks:=Worksheets("Tabelle2"), IngDT:=2, IngTo:=8,
IngTB:=9
End If
If CheckTextBoxes(22, 33) = True Then
SetDateValues wks:=Worksheets("Tabelle3"), IngDT:=3, IngTo:=7,
IngTB:
End If
Sheets("Tabelle1").Select
Unload Me
End Sub

Public Function CheckTextBoxes(IngFrom As Long, IngTo As Long) As
Boolean Dim i As Long For i = IngFrom To IngTo
If UserForm1.Controls("TextBox" & i).Text <> "" Then
CheckTextBoxes = True
Exit Function
End If
Next i
End Function

Public Sub SetDateValues(wks As Worksheet, IngDT As Long, IngTo As
Long, IngTB As Long) Dim IngLastRow As Long Dim IngRow As Long
With wks
IngLastRow = .Range("A65536").End(xlUp).Row + 1
.Cells(IngLastRow, 1).Value = UserForm1.Controls("DTPicker"
& IngDT).Value
For IngRow = 2 To IngTo_
.Cells(IngLastRow, IngRow).Value = Controls("TextBox" &
IngRow + IngTB).Text
Next IngRow
End With
End Sub

Ich habe irgendwo einen Fehler gemacht, leider bin ich kein VBA-Experte.

Eine zusàtzliche Frage: Gibt es eine Möglichkeit, dem Ablauf mitzugeben, die
Formeln der Vorzellen zu kopieren, damit die Berechnungen mit den Eingaben in
der neuen Zeile fortgeführt werden ?

Für die Hilfe vorab vielen Dank.
 

Lesen sie die antworten

#1 stefan onken
15/05/2008 - 09:47 | Warnen spam
hallo Reinhold,

Public Sub SetDateValues(wks As Worksheet, IngDT As Long, IngTo As
Long, IngTB As Long) Dim IngLastRow As Long Dim IngRow As Long
With wks
IngLastRow = .Range("A65536").End(xlUp).Row + 1
.Cells(IngLastRow, 1).Value = UserForm1.Controls("DTPicker"
& IngDT).Value
For IngRow = 2 To IngTo_
.Cells(IngLastRow, IngRow).Value = Controls("TextBox" &
IngRow + IngTB).Text
Next IngRow
End With
End Sub

Ich habe irgendwo einen Fehler gemacht, leider bin ich kein VBA-Experte.



in der Zeile Public Sub SetDateValues steht IngTo, in Code weiter
unten dann IngTo_ , da musst du also den Unterstrich entfernen.
Deine Long-Variablen enthalten bei Ing ein großes i statt l, soll das
so sein?



Eine zusàtzliche Frage: Gibt es eine Möglichkeit, dem Ablauf mitzugeben, die
Formeln der Vorzellen zu kopieren, damit die Berechnungen mit den Eingaben in
der neuen Zeile fortgeführt werden ?



evtl wàre hier AutoFill möglich, was dem ziehen des schwarzen
Kàstchens rechts unten an der Zellumrandung entspricht.

Gruß
stefan

Ähnliche fragen