Excel 2003 Spaltenoptimum

Dieses Thema Excel 2003 Spaltenoptimum im Forum "Microsoft Office Suite" wurde erstellt von Hudson, 15. Juli 2007.

Thema: Excel 2003 Spaltenoptimum Hallo Community, ich steh mal wieder vor einem Excelproblem und bitte um eure Hilfe: Ich habe eine...

  1. Hallo Community,
    ich steh mal wieder vor einem Excelproblem und bitte um eure Hilfe:

    Ich habe eine Entfernungsmatrix (zB. 30 Kunden + Depot = 31x31Matrix) und möchte nur die otimale Route für bestimmte Kunden.
    d.h. z.B. für Kunde 12, 15, 18, 27, 30.
    -> ich bekomme nun eine neue Matrix (hier: 5x30, weil Kunde x ja gleich dem Depot)
    ABER:
    Für eine optimale Route der ausgewählten Kunden benötige ich das Spalten Optimum der 5x30 Matrix.
    Ich muss also händisch Spalte für Spalte absuchen und das Feld mit der kleinsten Zahl grün markieren. 5 Zeilen sind noch übersichtlich, wobei 30 Spalten schon nerven, aber das ist ja nur ein Bsp und dient nur als Einstieg. In echt sind es weit über 100!!!

    Gibt es eine Formel die größer gleich abcheckt und mir das kleinste (größte) Feld markiert? Irgendetwas das ich einfach über diese Matrix lege ohne die Zeilenreihenfolge zu ändern?

    Weil wenn ich auf/absteigend sortiere, dann zerhaut mir das meine Tabelle
    z.B.: Spalte26, der 5x30 Matrix (dort steht jetzt die Enfernung der ausgewählten ZeilenKunden zum Kunden der Spalte26 + Entfernung des Kunden der Spalte26 zum Depot - Entfernung des jeweiligen ZeilenKunden selbst zum Depot):
    Zeile1=30 Zeile2=45 Zeile3=12 Zeile4=27 und Zeile5=7
    bei auf/absteigend sortiert der ja nur 7,12,27,30,45 ... und schreibt das untereinander.
    Aber damit verliere ich den Kunden Bezug, weil Zeile4 z.B Kunde 15 war! Kann mir doch nicht jeden Wert merken oder in jedes Feld K4=27 (weil die Werte aus einem anderen Programm kommen) schreiben! Die Kunden sortierung Steht ja in SpalteA.

    Ich hoffe das ganze hier war verständlich ???. Ich brauch auch nicht kleinsten in grün, 2t kleinsten organge etc...genügt wenn der kleinste Fett gedruckt wird. Hauptsache ich erspare mir das Spalten über alle Zeilen gesuche!!!


    Meine Augen und Nerven wären Euch/Dir sehr dankbar!!!
    MFg
     
  2. Hallo Hudson,

    könnte dir ein Makro behilflich sein, der dir ab einer bestimmten Zeile die Werte in Spalte 26 betrachtet und dir die Reihenfolge in einer auf einem extra Blatt ausgibt ?

    Gruß Matjes :)
     
  3. Das Makro könnte so aussehen:
    Code:
    Sub Excel_Sp26SortiertAufEinBlatt()
     
     
    -> <<< A N P A S S E N >>>
    ->Quelle:
     Const cQ_ABZEILE = 3->ab dieser Zeile Werte
     Const cQ_SP = 26  ->in Spalte Z
    -> <<< A N P A S S E N  E N D E >>>
     
    ->Ziel:
     Const cERG_BLTNAME = __Sort__
     Const cERG_SP_ZEILE = 1
     Const cERG_SP_ZEILE_TXT = Zeile
     Const cERG_SP_ENTFERNUNG = 2
     Const cERG_SP_ENTFERNUNG_TXT = Entfernung
     
     
     Dim wb As Workbook, ws As Worksheet, ws2 As Worksheet
     Dim z As Long, z2 As Long
    
     Set wb = ActiveWorkbook
     Set ws = ActiveSheet
     
     If ws.Name = cERG_BLTNAME Then
      MsgBox Bitte das richtige Blatt aktivieren.
      GoTo AUFRAEUMEN
     End If
     
    ->altes Ergebnisblatt löschen
     On Error Resume Next
     Application.DisplayAlerts = False
     wb.Worksheets(cERG_BLTNAME).Delete
     Application.DisplayAlerts = True
     On Error GoTo 0
    
    ->Ergebnisblatt anlegen mit Überschriften
     Set ws2 = wb.Worksheets.Add(After:=ws)
     ws2.Name = cERG_BLTNAME
     z2 = 1
     With ws2.Cells(z2, cERG_SP_ZEILE)
      .Value = cERG_SP_ZEILE_TXT: .Font.Bold = True
     End With
     With ws2.Cells(z2, cERG_SP_ENTFERNUNG)
      .Value = cERG_SP_ENTFERNUNG_TXT: .Font.Bold = True
     End With
    
    ->alle Werte aus aktivem Blatt Spalte 26 im Zielblatt eintragen
     z = cQ_ABZEILE
     Do
      If ws.Cells(z, cQ_SP).Value =  Then Exit Do
       z2 = z2 + 1
       ws2.Cells(z2, cERG_SP_ZEILE).Value = z
       ws2.Cells(z2, cERG_SP_ENTFERNUNG).Value = ws.Cells(z, cQ_SP).Value
       z = z + 1
     Loop
      
     If z2 > 2 Then
      ws2.Range(ws2.Cells(2, 1), _
           ws2.Cells(z2, cERG_SP_ENTFERNUNG)).Sort _
       Key1:=ws2.Cells(2, cERG_SP_ENTFERNUNG), _
       Order1:=xlAscending, _
       Header:=xlNo
     End If
    AUFRAEUMEN:
     Set wb = Nothing: Set ws = Nothing: Set ws2 = Nothing
    End Sub
     
  4. Wow vielen Dank Matjes.

    Entschuldigung, dass ich erst jetzt antworte, aber ich war geschäftlich unterwegs...

    Dein Makro funktioniert einwandfrei, vorallem mal wieder super beschrieben. :1

    Aber es ist zu komplex! Ich habe nur was gesucht um schnell und dies vorallem auch an fremden PC durch zu führen ... Hab mir mit den Standard Min/Max-Formeln und dem ziehen über die Spalten/Zeilen geholfen und dann mit Farbe die Felder markiert! Hat scho gepasst.
    Leider konnte ich mit einem Excel-Dummy (mit funktionierendem Makro) nicht arbeiten, weil die Tabellen nicht immer die gleiche Größe haben und die Werte mit Formeln hinterlegt sind.
    (Hab versucht: aus A ->Inhalt einfügen -Werte in Makro-Dummy; Dummy angepasst und jetzt zurück nach A; wegen Formeln hat das aber nimmer gefunzt...)

    Trotzdem vielen Dank, und ich werds mir aufheben ;D (man weiß ja nie!)
     
Die Seite wird geladen...

Excel 2003 Spaltenoptimum - Ähnliche Themen

Forum Datum
Excel 2003 - Kleines Problem mit einer Formel Microsoft Office Suite 25. Juni 2014
Office 2003 und 2010 Paralellinstallatin, mehrer xls-Dateien Excel 2003 zuweisen Windows XP Forum 13. Juli 2012
2 Spalten in Excel 2003 fixieren Microsoft Office Suite 28. Mai 2012
MS Excel 2003 ganze Zeilen löschen Microsoft Office Suite 1. Okt. 2011
Verlinkung nach Umstieg Excel 2003 auf 2007 Microsoft Office Suite 23. Mai 2011