von Stephan » Mi, 16.08.2006 11:42
Ich fürchte ich verstehe das Ganze nicht so recht, außer:
aber ich will auch noch wissen welches woher kam
soll wohl heißen wenn ein Wert nach dem Sortieren in Entry(3) steht, soll die Information vorhanden sei wo er vor dem Sortieren war?
Falls ja - erweitere das Array:
Code: Alles auswählen
'...
Dim Entry(1, 4)
'...
Entry(0,1) = oSheet.getCellByposition(1,zeile).value 'aus spalte 12_1
Entry(0,2) = oSheet.getCellByposition(2,zeile).value 'aus spalte 12_2
Entry(0,3) = oSheet.getCellByposition(3,zeile).value 'aus spalte 13_1
Entry(0,4) = oSheet.getCellByposition(4,zeile).value 'aus spalte 13_2
Entry(1,1) = "aus spalte 12_1"
Entry(1,2) = "aus spalte 12_2"
Entry(1,3) = "aus spalte 13_1"
Entry(1,4) = "aus spalte 13_2"
For Count = 1 To 4
For Count2 = Count + 1 To 4
If Entry(0,Count) < Entry(0,Count2) Then
Temp = Entry(0,Count)
Temp2 = Entry(1,Count)
Entry(0,Count) = Entry(0,Count2)
Entry(1,Count) = Entry(1,Count2)
Entry(0,Count2) = Temp
Entry(1,Count2) = Temp2
End If
Next Count2
Next Count
Die Werte für Entry(1,x) kannst Du wählen wie sie sinnvoll sind, ich habe hier nur die verbalen Beschreibungen genommen, nur Du könntest die Werte ggf. auch ermitteln - ich verstehe nur die Spaltenbezeichnungen nicht, denn was soll Spalte 12_1 sein?
Nein, es geht mir nicht darum das das keine üblichen Bezeichnungen sind sondern das ja:
Code: Alles auswählen
Entry(0,1) = oSheet.getCellByposition(1,zeile).value
Entry(0,2) = oSheet.getCellByposition(2,zeile).value
Entry(0,3) = oSheet.getCellByposition(3,zeile).value
Entry(0,4) = oSheet.getCellByposition(4,zeile).value
4 Zellen einer Zeile, eines Blattes in 4 Spalten sind. Ich würde also 12_1 ... 12_4 verstehen oder 12_1 ... 15_1, nur 12_ und 13_ 'gemischt' verstehe ich nicht.
Wenn ich nun aber meien "If-Abfrage" mache habe ich bei gleichen werten
eine Überschneidung.
das kann sich meines Erachtens nur auf das erste IF beziehen, nur weiß ich nicht was erreicht werden soll. Was soll denn geschehen wenn zwei Werte gleich sind und warum?
Du kannst mit einem zweiten If die gleichen Werte finden, aber was dann - grundsätzlich vertauschen?
z.B.
Wert aus der Spalte 12_1 =1 und wert aus der Spalte 13_2=1 => hinten steht bei beidem 13_2
?
Gruß
Stephan
Ich fürchte ich verstehe das Ganze nicht so recht, außer:
[quote]aber ich will auch noch wissen welches woher kam[/quote]
soll wohl heißen wenn ein Wert nach dem Sortieren in Entry(3) steht, soll die Information vorhanden sei wo er vor dem Sortieren war?
Falls ja - erweitere das Array:
[code]'...
Dim Entry(1, 4)
'...
Entry(0,1) = oSheet.getCellByposition(1,zeile).value 'aus spalte 12_1
Entry(0,2) = oSheet.getCellByposition(2,zeile).value 'aus spalte 12_2
Entry(0,3) = oSheet.getCellByposition(3,zeile).value 'aus spalte 13_1
Entry(0,4) = oSheet.getCellByposition(4,zeile).value 'aus spalte 13_2
Entry(1,1) = "aus spalte 12_1"
Entry(1,2) = "aus spalte 12_2"
Entry(1,3) = "aus spalte 13_1"
Entry(1,4) = "aus spalte 13_2"
For Count = 1 To 4
For Count2 = Count + 1 To 4
If Entry(0,Count) < Entry(0,Count2) Then
Temp = Entry(0,Count)
Temp2 = Entry(1,Count)
Entry(0,Count) = Entry(0,Count2)
Entry(1,Count) = Entry(1,Count2)
Entry(0,Count2) = Temp
Entry(1,Count2) = Temp2
End If
Next Count2
Next Count[/code]
Die Werte für Entry(1,x) kannst Du wählen wie sie sinnvoll sind, ich habe hier nur die verbalen Beschreibungen genommen, nur Du könntest die Werte ggf. auch ermitteln - ich verstehe nur die Spaltenbezeichnungen nicht, denn was soll Spalte 12_1 sein?
Nein, es geht mir nicht darum das das keine üblichen Bezeichnungen sind sondern das ja:
[code]Entry(0,1) = oSheet.getCellByposition(1,zeile).value
Entry(0,2) = oSheet.getCellByposition(2,zeile).value
Entry(0,3) = oSheet.getCellByposition(3,zeile).value
Entry(0,4) = oSheet.getCellByposition(4,zeile).value[/code]
4 Zellen einer Zeile, eines Blattes in 4 Spalten sind. Ich würde also 12_1 ... 12_4 verstehen oder 12_1 ... 15_1, nur 12_ und 13_ 'gemischt' verstehe ich nicht.
[quote]Wenn ich nun aber meien "If-Abfrage" mache habe ich bei gleichen werten
eine Überschneidung.[/quote]
das kann sich meines Erachtens nur auf das erste IF beziehen, nur weiß ich nicht was erreicht werden soll. Was soll denn geschehen wenn zwei Werte gleich sind und warum?
Du kannst mit einem zweiten If die gleichen Werte finden, aber was dann - grundsätzlich vertauschen?
[quote]z.B.
Wert aus der Spalte 12_1 =1 und wert aus der Spalte 13_2=1 => hinten steht bei beidem 13_2[/quote]
[b]?[/b]
Gruß
Stephan