Entfernungs-Liste

Bild

Betrifft: Entfernungs-Liste
von: Gerhard
Geschrieben am: 09.12.2003 20:10:19

Hallo zusammen!

Ich möchte meine Anfrage nochmals präzisieren.

1) Ich habe eine Liste (mit einer Spalte) von ca. 350 Stadt/Ortsnamen (z. B. Aachen - Zwickau)

2) Nun möchte ich eine neue Liste (mit zwei Spalten) erstellen, die mir alle möglichen Strecken (im Sinne von VON und NACH, d. h. z. B. Spalte 1 Aachen Spalte 2 Berlin, Spalte 1 Aachen Spalte 2 Chemnitz, ..., Spalte 1 Ypshausen Spalte 2 Zwickau)auflistet.

3) Mathematisch ergeben sich in der so erstellten Liste 61.074 Einträge

Wer kann mir nun helfen eine solche Liste zu erstellen????


DANKE für jede Antwort schon im Vorraus!!!!

Gruß Gerhard

Bild


Betrifft: AW: Entfernungs-Liste
von: y
Geschrieben am: 09.12.2003 20:20:49

hi gerhard,
...ist ja eigentlich kein problem aber..
wo kommen die entfernungen her ???
cu micha


Bild


Betrifft: AW: Entfernungs-Liste
von: Gerhard
Geschrieben am: 09.12.2003 20:24:35

Hallo Micha,

es geht mir im moment nur um den ersten schritt eine tabelle mit allen möglichen relationen zu erstellen, die entfernungen sind im moment nicht wichtig. Wenn du mir helfen könntest eine solche Liste zu erstellen wäre ich Dir sehr dankbar!!!

Gruß Gerhard


Bild


Betrifft: AW: Entfernungs-Liste
von: OttoH
Geschrieben am: 09.12.2003 21:13:52

Hallo Gerhard,

mit folgender Routine erzeugst Du die Liste:


Sub Verbindungen()
Dim i As Integer
Dim j As Integer
Dim k As Long
Dim Stadt(350) As String
For i = 1 To 350
    Stadt(i) = Sheets(1).Cells(i, 1).Value
Next
i = 1
j = 1
k = 1
n = 1
For i = 1 To 350
    For j = 1 To 350
        If i <> j Then   '<<<<<<<<<<<<<<<<<<<<<<<<
            Sheets(n + 1).Cells(k, 1) = Stadt(i)
            Sheets(n + 1).Cells(k, 2) = Stadt(j)
            k = k + 1
            If k > 65500 Then
                k = 1
                n = 2
            End If
        End If           '<<<<<<<<<<<<<<<<<<<<<<<<
    Next j
Next i
End Sub



Die Städte stehen im 1. Blatt in der ersten Spalte; die Paarungen werden in das 2. und 3. Blatt geschrieben.

Wenn auch Paarungen wie Dortmund-Dortmund interessant sind, müssen die beiden Zeilen mit den Pfeilen entfernt werden.


Gruß OttoH


Bild


Betrifft: DANKE!!!
von: Gerhard
Geschrieben am: 09.12.2003 22:45:00

Danke für Deine Antwort und Dein Programm, habe es gerade ausprobiert und es funktioniert genau so wie ich es brauche!!!

Gruß Gerhard


Bild


Betrifft: AW: Entfernungs-Liste
von: y
Geschrieben am: 09.12.2003 21:16:43

erzähl bitte keinem, dass das von mir ist: (irgendwie hab' ich momentan ne denkblockade)
der eine oder andere eintrag ist wohl doppelt vorhanden (wenn ich's mir recht überlege wohl jeder)
aber als anfang gehts schon


Sub Makro3()
Dim erste(350)
Dim zweite(350)
'einlesen
For i = 1 To 350
    erste(i) = Worksheets("tabelle1").Cells(i, 1)
    zweite(i) = Worksheets("tabelle1").Cells(i, 1)
Next i
'schreiben
s = 1
For i = 1 To 350
    For x = 1 To 350
        If erste(i) <> zweite(x) Then
            Worksheets("tabelle2").Cells(s, 1) = erste(i)
            Worksheets("tabelle2").Cells(s, 2) = zweite(x)
            s = s + 1
        End If
    Next x
Next i
End Sub



Bild


Betrifft: DANKE!!!
von: Gerhard
Geschrieben am: 09.12.2003 23:57:16

Hallo Micha,

danke für Deine Bemühungen, Du und auch OttoH habt mir sehr geholfen, DANKE

Gerhard


Bild


Betrifft: AW: Entfernungs-Liste
von: Hans W. Hofmann
Geschrieben am: 09.12.2003 22:49:55

Hallo Gerhard,

die natürliche Anordnung ist eine symetrische Matrix A mit den Knoten in den Zeilen z und Spalten s. Die Entfernung der Orte von Z nach S lässt sich dann als A(z,s) darstellen, wobei die Diagonale A(i,i) leer ist.
Das in einer linearen Liste zu halten ist mit ziemlicher Sicherheit keine gute Idee und wird einen nicht unerheblichen Verwaltungs- und Suchaufwand bedeuten, wenn damit irgendwann mal was sinnvolles gehandelt werden sollte...

Gruß HW


Bild


Betrifft: AW: Entfernungs-Liste
von: Martin Beck
Geschrieben am: 10.12.2003 17:11:25

Hallo HW,

das Problem ist nur, daß Gerhard 350 Namen hat und damit die von Dir vorgeschlagene Matrix in Excel nicht erstellt werden kann.

Gruß
Martin Beck


Bild


Betrifft: AW: Entfernungs-Liste
von: Hans W. Hofmann
Geschrieben am: 10.12.2003 19:47:52

Hallo Martin,

das ist eine Funktion für den Zugriff, die modulo 255 die Daten auf mehrere Tabellen verteilt, z.B.


Function bigtb(z As Long, s As Long)
    bigtb = Sheets(s \ 255).Cells(z, s Mod 255)
End Function



Gruß HW


Bild

Beiträge aus den Excel-Beispielen zum Thema " Falsche Anzeige von Werten"