Knusperklumpen: Excel - eine Art Datenbank erstellen

Hi.
Da sich hier ja einige Spezialisten tummeln ist es nicht ausgeschlossen, dass auch Excel-Gurus darunter sind ;-)
Nun meine Frage bzw. die Ausgangssituation.

Ich habe in einer Mappe 2 Tabellen.
In Tabelle1 sollen Daten aus Tabelle2 anhand eines Kriteriums angezeigt werden. Das ist mit sverweis ja möglich. Nun soll allerdings das Angezeigte in Tabelle1 auch geändert werden können und der geänderte Wert dann in Tabelle2 eingetragen werden.
Gemeinerweise steht in dem entsprechenden Feld in Tabelle1 ja nur der Verweis (oder was auch immer) auf das Feld von Tabelle2. Ist es dennoch möglich aus Tabelle1 heraus den Wert von Tabelle2 zu manipulieren?

Ziel der Übung ist, dass eine große Menge von Daten in einer Tabelle (Tabelle2) gespeichert sind und in Tabelle1 (der Übersichtlichkeit halber) nur teilweise angezeigt werden, also sowas wie ne Datenbank bei der Spalte1 von Tabelle2 den Index darstellt.
Vielleicht bietet Excel ja auch von sich aus ne Möglichkeit Daten aufbereitet auszugeben, da kenn ich mich allerdings leider nicht aus.

Danke und mfg
Knusperklumpen

  1. Hi.
    Da sich hier ja einige Spezialisten tummeln ist es nicht ausgeschlossen, dass auch Excel-Gurus darunter sind ;-)
    Nun meine Frage bzw. die Ausgangssituation.

    Bin ich zwar nicht und ich halte auch nicht viel von Excel als "Datenspecher/verwalter" aber ich erinnere mich daran das es zwei Excel-Funktionen gibt die dir vielleicht helfen könnten.

    Die eine wäre(n) Filter (Daten => Filter)

    und die andere

    Pivot-Tabellen (Daten => PivotTable-und...)

    MFG
    Jungesmedium

  2. Moin,

    In Tabelle1 sollen Daten aus Tabelle2 anhand eines Kriteriums angezeigt werden. Das ist mit sverweis ja möglich. Nun soll allerdings das Angezeigte in Tabelle1 auch geändert werden können und der geänderte Wert dann in Tabelle2 eingetragen werden.

    ja, das ist normalerweise kein Problem - aber da man mit Formeln nur andere Zellen abfragen kann, ist es damit nicht möglich. Wie sieht es denn aus mit VBA-Kenntnissen?

    Ziel der Übung ist, dass eine große Menge von Daten in einer Tabelle (Tabelle2) gespeichert sind und in Tabelle1 (der Übersichtlichkeit halber) nur teilweise angezeigt werden, also sowas wie ne Datenbank bei der Spalte1 von Tabelle2 den Index darstellt.
    Vielleicht bietet Excel ja auch von sich aus ne Möglichkeit Daten aufbereitet auszugeben, da kenn ich mich allerdings leider nicht aus.

    ja, alles kein Problem - aber ohne VBA (Makros) wirst Du das nicht  schaffen, zumindest nicht mit dem oben genannten Problem.

    Wichtig ist hier nur, dass jeder Datensatz über ein eindeutiges Merkmal verfügt, das nicht mehrfach auftreten kann.

    Viele Grüße

    Jörg

    1. Hi ... na das klingt ja erstmal gut.
      Mit VBA kenn ich mich leider nicht so aus, aber ist letzendlich ja auch "nur" ne Programmierung ;-)
      Ich stelle mir das mittlerweile so vor, dass man zum Eingeben und Anzeigen der Daten ne Maske hat, die mit dem Formulareditor erstellt wird. Diese Maske müsste ne Suchfunktion haben bzw. vielleicht Drop-Down-Listen mit den Inhalten der kompletten Datenbank, also z.B. ne Drop-Down-Liste mit allen hinterlegten Namen.
      Schwierig ist, dass die einzelnen Datensätze nen unterschiedlichen Umfang haben. Es geht letzendlich um eine Verwaltung von Urkunden, die immer verschiedene Bereiche durchlaufen. Es muss erfasst werden wann die Urkunde welchen Bereich erreicht und wann wieder verlasesen hat. Die Anzahl der Bereiche variiert allerdings, so dass das dynamisch geregelt sein müsste. Ist sicher von den Anforderungen her nicht weiter dramatisch aber in Excel?! Ich würde es ja nicht damit machen aber die Vorgabe ist nunmal so.

      mfg
      Knusperklumpen

      1. Hi,

        Mit VBA kenn ich mich leider nicht so aus, aber ist letzendlich ja auch "nur" ne Programmierung ;-)

        ja, wobei dabei sehr viele Fehler gemacht werden können - z. B. beobachte ich sehr oft, dass Daten und Code sich in einer Datei befinden. Wenn es dann mal ein Update gibt, müssen die Daten aller betroffenen Dateien in die neue Datei kopiert werden …

        Aber wenn man die Objekte und Excel-Konstanten kennt, geht es schon. ;-)

        Ich stelle mir das mittlerweile so vor, dass man zum Eingeben und Anzeigen der Daten ne Maske hat, die mit dem Formulareditor erstellt wird. Diese Maske müsste ne Suchfunktion haben bzw. vielleicht Drop-Down-Listen mit den Inhalten der kompletten Datenbank, also z.B. ne Drop-Down-Liste mit allen hinterlegten Namen.

        Das ist nicht unbedingt schwer, aber auch hier sollte man sich an ein paar Sachen gewöhnen. Wichtig ist z. B. bereits beim Erstellen, dass man allen Steuerelementen eigene sinnvolle Namen vergibt. Namen wie "Listbox1", "Textbox1", usw. sind nicht gerade aussagekräftig und wenn man mal etwas ändern muss, fängt man an zu suchen, was was ist.

        Bei der Dropdown-Liste musst Du mal sehen - wenn es sehr viele Namen sind, ist das etwas unübersichtlich. Dann bietet sich ggf. eine Textbox an, bei der man per Change- oder Keyup-Ereignis in Verbindung mit der Find-Methode die Spalte in Excel durchsuchen und nur die gefundenen Namen eintragen lässt.

        Schwierig ist, dass die einzelnen Datensätze nen unterschiedlichen Umfang haben. Es geht letzendlich um eine Verwaltung von Urkunden, die immer verschiedene Bereiche durchlaufen. Es muss erfasst werden wann die Urkunde welchen Bereich erreicht und wann wieder verlasesen hat. Die Anzahl der Bereiche variiert allerdings, so dass das dynamisch geregelt sein müsste.

        Das sollte auch kein Problem sein. Dafür hast Du dann solche Möglichkeiten:

        Dim lngZ As Long
        Dim intS As Integer

        'letzte ausgefüllt Zelle in Spalte 1 (A) suchen:
        lngZ = Cells(Rows.Count, 1).End(xlUp).Row

        'letzte ausgefüllte Zelle in Zeile 1 suchen:
        intS = Cells(1, Columns.Count).End(xlToLeft).Column

        Ist sicher von den Anforderungen her nicht weiter dramatisch aber in Excel?! Ich würde es ja nicht damit machen aber die Vorgabe ist nunmal so.

        Naja, in Excel kann man schon viel machen - die meisten Anwender wissen es nur nicht. ;-)

        Viele Grüße

        Jörg