Ich haben ein Problem bei der Programmierung meines Programms(Excel mit vba). Und zwar geben bei mir Nutzer Ihre Beiträge in einer UserForm ein und diese werden dann in einer Excel Tabelle abgespeichert. Zur Zeit ist es noch so, dass alle neuen Einträge am Ende der Tabelle gespeichert werden, nun will ich aber, dass alle neuen Einträge in die oberste Zeile meiner Tabelle geschrieben werden ohne das der alte Eintrag überschrieben wird. Dieser soll einfach nach unten rutschen.
Hilfe sitze da schon so lange dran
Hier mal ein Auschnitt meines Codes
z2 = ListBox2.ListIndex
z3 = ListBox3.ListIndex
z4 = ListBox4.ListIndex
'zeile = Worksheets(„CPs“).Cells(Rows.Count, 1).End(xlUp).Row + 1
Rows(„3:3“).Select
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
’ Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
'Damit immer die nächste Zeile ausgewählt wird und keine überschrieben wird
'adresse = Worksheets(„Users“).Cells(2, 4).Value
'definition der Adresse
zeile = Worksheets(„CPs“).Rows(„3:3“)
ID = 0
For I = 3 To Worksheets(„Users“).Cells(Rows.Count, 1).End(xlUp).Row
''Hier wird die letzte beschreiben Zeile als Endpunkt der for schleife ausgewählt
If ID „“ And TextBox2.Text „“ And TextBox3.Text „“ Then
If ListBox2.ListIndex > -1 And ListBox3.ListIndex > -1 And ListBox4.ListIndex > -1 Then
flb3 = False
ActiveSheet.Unprotect Worksheets(„Admin“).Range(„E2“).Value
flagneu = False
ID = ID + 1
'ID Nummer fortlaufend
abc = Worksheets(„Admin“).Cells(2, 1).Value
For I = 2 To Worksheets(„Admin“).Cells(Rows.Count, 1).End(xlUp).Row
If Worksheets(„Admin“).Cells(I, 1).Interior.Color = 65535 Then
abc = Worksheets(„Admin“).Cells(I, 1).Value
'Was in den Tabelle rausgesucht wird
End If
Next
For I = 2 To Worksheets(„Users“).Cells(Rows.Count, 1).End(xlUp).Row
If Worksheets(„Users“).Cells(I, 1).Interior.Color = 65535 Then
aktnutzer = Worksheets(„Users“).Range(„A“ + CStr(I)).Value
End If
If Worksheets(„Users“).Cells(I, 2).Value = ListBox4.List(z4) Then
adresse = Worksheets(„Users“).Cells(I, 4).Value
End If
Next
'abc = ListBox1.List(z)
abc2 = ListBox2.List(z2)
abc3 = ListBox3.List(z3, 0)
abc4 = ListBox4.List(z4)
Worksheets(„CPs“).Range(„A“ + CStr(zeile)).Value = CStr(ID)
Worksheets(„CPs“).Range(„B“ + CStr(zeile)).Value = TextBox1.Text
Worksheets(„CPs“).Range(„C“ + CStr(zeile)).Value = TextBox2.Text
Worksheets(„CPs“).Range(„D“ + CStr(zeile)).Value = abc
Worksheets(„CPs“).Range(„E“ + CStr(zeile)).Value = CDate(Date)
Worksheets(„CPs“).Range(„F“ + CStr(zeile)).Value = CDate(Date)
Worksheets(„CPs“).Range(„G“ + CStr(zeile)).Value = „Aktiv“
Worksheets(„CPs“).Range(„H“ + CStr(zeile)).Value = abc2
Worksheets(„CPs“).Range(„J“ + CStr(zeile)).Value = aktnutzer
Worksheets(„CPs“).Range(„K“ + CStr(zeile)).Value = TextBox3.Text
Worksheets(„CPs“).Range(„L“ + CStr(zeile)).Value = abc3
Worksheets(„CPs“).Range(„M“ + CStr(zeile)).Value = abc4
’ Worksheets(„CPs“).Range(„A“ + CStr(zeile) + „:M“ + CStr(zeile)).Select
With Selection
.HorizontalAlignment = xlGeneral
.VerticalAlignment = xlTop
.WrapText = True
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False
End With
Hilfe