# VBA - Excel - Daten auslesen und ausgeben



## ElectricFee (12. April 2005)

Hi Leute,

ich hab nu schon seit bestimmt 2 Jahren nix mehr mit VB/ VBA programmiert und muss feststellen dass ich mich ganz schön doof anstelle.
Daher brauche ich Eure Hilfe.

Ich soll aus einer Excel-Tabelle (genutzt als Datenbank) bestimmte Werte ausgben lassen:
Die 1. Spalte heißt "Name", die 2. Gegenstand und die 3. Datum.. dann als 4. wieder Gegenstand, dann Datum etc.
Ich muss es irgendwie hinbekommen, dass per Knopfdruck ein eingegebener Name rausgesucht wird und die Gegenstände samt Datum, wann dieser Typ das bekommen hat, ausgegeben wird.

Sprich: Wenn der Name mit einem aus der Liste übereinstimmt muss er mir die Zelle rechts daneben ausgeben... inkl. der Zelle daneben, in der das Datum steht. Wenn aber noch weitere Einträge vorhanden sind, muss er diese mitausgeben.

In etwa so: Hutzelbutz hat am 20.1.2005 einen Lolli bekommen.
bzw. Humpelbumpel hat am 20.1.2005 einen Lolli, am 15.2.2005 einen Lutscher bekommen.
und das irgendwie übersichtlich.

Hat einer von Euch sowas in der Art schonmal gemacht und kann mir bitte bitte weiterhelfen?

ich weiss, meine beschreibung ist etwas hilfsdürftig, aber ich weiss gerade irgendwie nicht, wie ich es besser erklären könnte.


----------



## Orakel (12. April 2005)

Hi ElektricFee

also für ne ausführliche Antwort fehlt mir irgendwie die Info, wo die Eingabe bzw. die Ausgabe  stattfinden soll (In dem Exelsheet, in Word oder sonstwo)

Wenn's in Excel auf nem anderen Sheet sein soll, dann gibt's genügend Excelfunktionen, die diese Arbeit ohne irgendwelche VBA-Kenntnisse abdecken können.

Gruß
Das Orakel


----------



## ElectricFee (12. April 2005)

ohje, schande über mein haupt. 

das heisst ich soll mich erst mal mit den ganzen excel-formeln durchwuseln?

hast du evtl. irgendwelche tipps, welche formeln ich mir da mal genauer ansehen sollte?


----------



## Orakel (12. April 2005)

Also soll die Ausgabe in Excel selber erfolgen. Na dann ganz einfach. Mit VBA ginge das in etwa so


```
Private Sub BuildInfo()
    Dim lRow                    As Long

    If Not IsError( Application.Match(Cells(1, 5).Value, Range(Cells(1, 1), Cells(4, 1)), 0) ) Then
        lRow = Application.Match(Cells(1, 5).Value, Range(Cells(1, 1), Cells(4, 1)), 0)
        Cells(1, 6).Value = Cells(lRow, 1).Value & " " & Cells(lRow, 2).Value & " irgendwas"
    End If
End Sub
```

Match(Cells(1, 5).Value ist die Zelle, in der der gewünschte Name eingegeben wurde. Du kannst auch Match(Range("H1").Value, nehmen.
Die dann folgende Anweisung sind die Zellen, in denen gesucht werden soll.
Du erhälst dann die Zeile, in der der Name gefunden wurde. Nun einfach den Satz mit den Werten zusammenbauen, den Du haben möchtest.

Eine Excelfunktionen die ähnlich arbeitet ist SVERWEIS. Am besten in der Formelhilfe nachschauen.

Hope it helps

Gruß
Das Orakel


----------

