habe ein minder wichtiges Problem mit einer Sortierung, die ich im Anschluss an das Füllen einer Liste vornehmen möchte.
Habe schon ein paar Forenbeiträge durchforstet und bei mir scheint es nicht nur das übliche Problem zu sein, dass der Pfad nicht genau angegeben wird.
Hier mein Code
Private Sub CommandButton1_Click()
With Sheets("Cutoff-Time Datenbank")
Startreihe = .Range("Q1").Value
Dim Uebereinstimmung As Boolean
Dim Uebereinstimmung_Val As Integer
If Sheets("Eingabe").Range("A2").Value = "" Or Sheets("Eingabe").Range("B2").Text = " _
xyz.." Or Sheets("Eingabe").Range("C2").Text = "xzy..." Or Sheets("Eingabe").Range("D2").Text = "yzx..." Or Sheets("Eingabe").Range("E2").Text = "zxy..." Then
MsgBox ("Bitte Zeile 2 komplett ausfüllen")
Exit Sub
End If
For i = 2 To 500
If Sheets("Eingabe").Range("B2").Value = .Cells(i, 1).Value And Sheets("Eingabe" _
).Range("C2").Value = .Cells(i, 2).Value And Sheets("Eingabe").Range("D2").Value = .Cells(i, 3).Value And Sheets("Eingabe").Range("E2").Value = .Cells(i, 4).Value Then
' Vergleicht "Eingabe".Zeile2 mit der Datenbank
Uebereinstimmung = True
Uebereinstimmung_Val = i
Exit For
End If
Next
If Uebereinstimmung = False Then ' "Eingabe".Zeile2 übertragen, Zähler (in _
Spalte E) auf 1 setzen, WKN schreiben
.Range("A" & Startreihe).Value = Sheets("Eingabe").Range("B2").Value
.Range("B" & Startreihe).Value = Sheets("Eingabe").Range("C2").Value
.Range("C" & Startreihe).Value = Sheets("Eingabe").Range("D2").Value
.Range("D" & Startreihe).Value = Sheets("Eingabe").Range("E2").Value
.Range("E" & Startreihe).Value = 1
.Range("F" & Startreihe).Value = Sheets("Eingabe").Range("A2").Value
Else
If .Range("E" & Uebereinstimmung_Val).Value > 2 Then ' mehr als 2 Werte, _
dann WKNs löschen und Zähler um eins hoch
.Range("F" & Uebereinstimmung_Val & ":H" & Uebereinstimmung_Val). _
ClearContents
.Range("E" & Uebereinstimmung_Val).Value = .Range("E" & _
Uebereinstimmung_Val).Value + 1
End If
If .Range("E" & Uebereinstimmung_Val).Value = 2 Then ' schon 2 Werte, _
dann WKN notieren und Zähler um eins hoch
If Sheets("Eingabe").Range("A2").Value .Range("F" & _
Uebereinstimmung_Val).Value And Sheets("Eingabe").Range("A2").Value .Range("G" & Uebereinstimmung_Val).Value Then
.Range("H" & Uebereinstimmung_Val).Value = Sheets("Eingabe"). _
Range("A2").Value
.Range("E" & Uebereinstimmung_Val).Value = .Range("E" & _
Uebereinstimmung_Val).Value + 1
Else
MsgBox ("Wert wurde schon eingetragen")
End If
End If
Debug.Print Uebereinstimmung_Val
Debug.Print Sheets("Eingabe").Range("A2").Value
Debug.Print .Range("F" & Uebereinstimmung_Val).Value
If .Range("E" & Uebereinstimmung_Val).Value = 1 Then ' schon 1 Wert, _
dann WKN notieren und Zähler um eins hoch
If Sheets("Eingabe").Range("A2").Value .Range("F" & _
Uebereinstimmung_Val).Value Then
.Range("G" & Uebereinstimmung_Val).Value = Sheets("Eingabe"). _
Range("A2").Value
.Range("E" & Uebereinstimmung_Val).Value = .Range("E" & _
Uebereinstimmung_Val).Value + 1
Else
MsgBox ("Wert wurde schon eingetragen")
End If
End If
End If
End With
ActiveWorkbook.Sheets("Cutoff-Time Datenbank").Range("A2:H200").Select
Selection.Sort Key1:=Sheets("Cutoff-Time Datenbank").Range("A2"), Order1:=xlAscending, _
_
Key2:=Sheets("Cutoff-Time Datenbank").Range("B2"), Order2:=xlAscending, _
_
Key3:=Sheets("Cutoff-Time Datenbank").Range("C2"), Order3:=xlAscending, _
_
Header:=xlNo, MatchCase:=False
ActiveWorkbook.Sheets("Cutoff-Time Datenbank").Range("A1").Activate
Application.CutCopyMode = False
Debug.Print "Debug beendet"
End Sub
Alles bis auf das Sortieren funktioniert wunderbar. Beziehungsweise funktioniert es nur hin und wieder nicht. Wenn ich die Range ein wenig hin und her verändere (auch mal nur eine Zelle angebe) dann klappt es plötzlich wie es soll. Nur nach dem Neustart erhalte ich wieder einen Fehler.
Desweiteren scheint es mir fast so, dass wenn ich diesen Fehler erhalte, er schon im stark gekürzten Code
Private Sub CommandButton1_Click()
With Sheets("Cutoff-Time Datenbank")
End With
ActiveWorkbook.Sheets("Cutoff-Time Datenbank").Range("A2:H200").Select
End Sub
auftaucht. (Btw. Hatte das Sortieren nachdem es anfangs schon nicht geklappt hatte aus der With-Klammer herausgenommen)
Vielen vielen Dank für die Hilfe!
Steffen