tango1981 Geschrieben 12. September 2008 Teilen Geschrieben 12. September 2008 Hallo, nene will was in Excel programmieren, aber ehrlich gesagt kenne ich mich mit VBA gar nicht so recht aus, habe mehr C# gemacht. Naja also gibt es eine Formel in VBA die eine gesamte Spalte nimmt und diese nach Zahlen sortiert und diese zusammen führt in einem array? Also zb. Spalte A Zahlen von 1-5 die mehrmals vorkommen, die gleichen Zahlen wie zb. die Zahl 2 kommt 5mal vor, diese wird dann in einer Variablen geschrieben oder mit den gesamten Zahlen in einem Array. Schwer auszudrücken, was ich meine..... Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
xk4fu Geschrieben 15. September 2008 Teilen Geschrieben 15. September 2008 hier mal n psyeudo code (so wies ich verstanden hab) a = array[anzahl werte in spalte] boolen vorhanden = false int i = 0 int j = 0 int x = 0 for (i = 0 to anzahl werte in spalte){ for (j = 0 to anzahl werte in array){ if (wert in spalte[i] = array[j]){ vorhanden = true } j = j + 1 } j = 0 if (vorhanden = false){ array[x] = wert in spalte[i] x = x + 1 } vorhanden = false i = i + 1 } int n = laenge von array for (int y = n - 1; y > 0; y--){ for (int z = 0; z < y; z++){ if (array[z] > array[z + 1]){ int swp = array[z] array[z] = array[z + 1] array[z + 1] = swp } } } Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Dani_Various Geschrieben 24. März 2009 Teilen Geschrieben 24. März 2009 Hallo, in VBA würde das von der Syntax her so aussehen: Sub Test() Dim a() As String Dim vorhanden As Boolean Dim i As Integer Dim j As Integer Dim x As Integer Dim maxZeile As Long Dim n As Integer Dim y As Integer Dim z As Integer Dim swp As String i = 0 j = 0 x = 0 vorhanden = False 'Letzte Zeile suchen maxZeile = 1 Do maxZeile = maxZeile + 1 Loop Until Cells(maxZeile, 1).Value = "" For i = 0 To maxZeile For j = 0 To UBound(a) If Cells(i, 1) = a(j) Then vorhanden = True End If j = j + 1 Next i j = 0 If vorhanden = False Then a(x) = Cells(i, 1) x = x + 1 End If vorhanden = False i = i + 1 Next i n = LBound(a) For y = 1 To n Step -1 For z = 0 To y - 1 If a(z) > a(z + 1) Then swp = a(z) a(z) = a(z + 1) a(z + 1) = swp End If Next z Next y End Sub Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.