Excel - Daten in der Tabelle sortieren

Dieses Thema im Forum "Office-Programme" wurde erstellt von DocFerrum, 7. April 2004.

Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. DocFerrum

    DocFerrum Kbyte

    Registriert seit:
    27. September 2002
    Beiträge:
    177
    Vorlage ist eine Tabelle nach folgendem Aufbau:

    Hans Müller___|___ Müllerstr. 1___|___Mühlhausen
    Gerda Grau___|___Dunkelstr. 6___|___Farbingen
    Sandra Suhl___|___Hauptstr. 9___|___Hauptstadt
    Theo Weide___|___Ackerweg 3___|___Farbingen

    Frage 1:
    -----------
    Ich will über den Spalten quasi so eine Art Button mit dem ich die darunterliegenden Datensätze sortieren kann. Also nach dem Schema: 'Nach Name sortieren', 'Nach Strasse sortieren' etc. Wie lässt sich sowas realisieren?

    Bedingung:
    --------------
    Das Dokument ist gegen Bearbeitung geschützt. Diese Sortierfunktion soll aber trotzdem funktionieren.

    Frage 2: (nebensächlich)
    -----------
    Es ist bisher noch nicht geplant sondern vielmehr ein Gedankenspiel: Angenommen die Tabelle nimmt eines Tages einmal noch grössere Ausmasse an wird evtl. eine noch flexiblere Such- und Anzeigefunktion benötigt nach dem Schema 'Es sollen nur Personen aus Farbingen in der Dunkelstrasse angezeigt werden'. Liese sich sowas mit Excel auch realisieren oder sollte man sich hier mit Datenbanken á la Access bzw. MySQL für Web-Auftritte auseinandersetzen? => Wenn ja: Liese sich die Tabelle übertragen?
     
  2. DocFerrum

    DocFerrum Kbyte

    Registriert seit:
    27. September 2002
    Beiträge:
    177
    Superklasse! Alles bestens. Vielen herzlichen Dank euch beiden!
     
  3. creich

    creich Kbyte

    Registriert seit:
    18. Dezember 2003
    Beiträge:
    153
    Hallo

    http://forum.pcwelt.de/showthread.php?s=&threadid=116755&highlight=blattschutz


    mfg creich

    P.S.
    Wenn man jetzt noch möchte, dass das Makro beim starten der datei sofort aktiv ist:

    kopiere den Code in den folgenden Rumpf:

    Private Sub Workbook_Open()
    'hier dein Code
    End Sub

    Diese Ereignis-Prozedur muss sich
    im Codemodul "DieseArebitsmappe" befinden.
    Kopiere die Prozedur dort hin, speicher und schliesse die Arbeitsmappe. Nach dem
    nächsten Öffnen steht die Funktionalität zur Verfügung.

    mfg

    creich
     
  4. Geertakw

    Geertakw Kbyte

    Registriert seit:
    25. Februar 2001
    Beiträge:
    418
    hi

    ad 1: das geht:

    Public sflag as boolean
    sflag im auto_open Makro ggF. initialisieren

    sub sorta()
    if sflag=false then
    'action 1
    sflag=true
    else
    'action 2
    sflag=false
    endif
    end sub

    Man kann zusätzlich die Beschriftung des Buttons über seine caption anpassen.

    ad 2: nein, bin notorischer Autodidakt.

    Geert
     
  5. DocFerrum

    DocFerrum Kbyte

    Registriert seit:
    27. September 2002
    Beiträge:
    177
    Die erwähnten Worksheets-Befehle konnte ich in der Hilfe bedauerlicherweise nicht finden. Selbst die Suche nach 'protect', 'unprotect' und 'activesheet' blieb erfolglos. Erst nachdem ich auch den Blattschutz mit dem Makrorekorder aufnahm hatte ich die gewünschten Befehle in VBA. Die restliche Nacharbeit im VBA-Editor war dann auch kein Thema mehr.

    Alles funktioniert einwandfrei so wie soll. Vielen herzlichen Dank für deine Hilfe. :)

    Doch einige letzte Fragen hätte ich da noch bevor ich mir eine VBA-Lektüre besorge:

    1. Ist es möglich diesem Button zwei Funktionen zuzuweisen die sich abwechseln? Also z.B. Bei einmal klicken vorwärts sortieren. Ein weiteres Mal klicken um rückwärts zu sortieren. Und wenn ja: Wie ginge so etwas?

    2. Kennst du gute Einstiegs-Bücher in Excel-VBA?
     
  6. Geertakw

    Geertakw Kbyte

    Registriert seit:
    25. Februar 2001
    Beiträge:
    418
    Hi

    ad 1: Den jeweiligen Sortiervorgang mit dem Makrorecoder aufzeichnen und dem jeweiligen Button zuordnen
    Bei geschützten Blättern den Schutz vorm Sortieren mit
    worksheets("Tabelle").Unprotect(Password)
    aufheben - am Ende mit
    worksheets("Tabelle").protect(Password)
    wieder einrichten.
    ( in der VBA-Hilfe beschrieben )
    ad 2: es geht - die Tabelle könnte benutzt werden

    Geert
     
Status des Themas:
Es sind keine weiteren Antworten möglich.

Diese Seite empfehlen