Guten Tag,
Zur Zeit beschäftige ich mich mit einem Excel Programm um meinem Vater seine Arbeit zu erleichtern. Das Programm ist mittlerweile recht umfangreich, deshalb denke ich ist es besser wenn ich mich nur auf die notwendigen Informationen beziehe.
Zur Problematik des Programmteils: Gegeben ist eine recht umfangsreiche Tabelle. Ich habe einen Button erstellt, welcher ein Formular startet. Auf diesem Formular befinden sich 5 TextBoxen in welche der Benutzer Werte eintragen soll. Zudem einen Commandbutton. Wenn dieser CommandButton gedrückt wird, soll das Programm vergleichen ob der Wert(welcher in Textbox5 eingetragen wird) irgendwo in der ersten Spalte vorhanden ist. Anschließend sollen die Werte der TextBoxen1 - 4 kopiert und in die vorher ermittelte Reihe eingetragen werden (in Spalte1 soll Textbox1, in Spalte2 soll Textbox2,in Spalte3 soll Textbox3 und in Spalte4 soll Textbox4). Dass wichtige hierbei ist, dass die Werte die sich vorher in der ausgewählten Reihe befanden nicht überschrieben werden, sondern einfach eine Zeile nach unten verschoben werden.
Diese Funktion soll der Code später einmal erfüllen.
Jedoch traten einige Probleme auf, als ich den Code geschrieben habe. Zunächst habe ich dass Problem, dass bei meinem Code, die Variable s ( soll eigentlich den Wert der TextBox5 annehmen) immer 0 ist. Zudem trat noch das Problem auf das ich anscheinend eine Dauerschleife programmiert habe( Ist irgendwie merkwürdig habe das Programmierschema der If-then schleife schon bei vielen anderen Codes verwendet, bei denen es auch wunderbar funktioniert hat).
Momentan hänge ich mich ziemlich an diesen Problemen auf. Ich bin noch relativ neu in de Vba Programmierung und hoffe das ich mein Problem relativ verständlich beschreiben konnte. Ich hoffe jemand kann mir dabei helfen.
Mit freundlichen Grüßen Jannik
Mein bisheriger code (leider weiß ich nicht wie man seinen Code so formatieren Kann wie es andere Nutzer in ihren Beiträgen machen, deshalb hier die unübersichtliche Version) Tut mir leid.
Option Explicit
Private Sub CommandButton1_Click()
Dim i As Long
Dim s As Long
Dim j As Long
Dim Groestezeile As Long
Dim w As Integer
Dim e As Integer
TextBox5.Value = s
TextBox4.Value = j
TextBox2.Value = w
TextBox1.Value = e
MsgBox s
With ActiveSheet
Groestezeile = IIf(Len(.Cells(.Rows.Count, 1)), .Rows.Count, .Cells(.Rows.Count, 1).End(xlUp).Row)
Debug.Print Groestezeile
Groestezeile = .Columns(1).Find("*", .Cells(1, 1), xlValues, xlWhole, , xlPrevious).Row
Debug.Print Groestezeile
End With
For i = 3 To Groestezeile
If ActiveSheet.Cells(i, 1) = s Then
ActiveSheet.Rows(i - 1 & ":" & i - 1).Insert Shift:=xlUp
End If
Next i
End Sub
|