Excel: Schnitzel oder Wurst was nu ? -Zellen Abfrage und kopieren mit 2 Inputboxen

Gurnison

Lt. Junior Grade
Registriert
Mai 2011
Beiträge
444
Hallo zusammen,

ich schwelge in absoluter Ahnungslosigkeit.

Ich muss aus 3 Excel-Tabellen gezielt Zellen abfragen und kopieren.

Die anliegende Excel Datei zeigt jeweil 3 Tabellen von drei "Restaurants" auf.
Die Tabellen sind identisch bis auf die Restaurantbezeichnung und die Verkaufszahlen.
Diese Restaurants verkaufen mehrer Produkte pro Monat/Jahr (Schnitzel, Wurst usw.)

Ich benötige nun eine Abfrage, vorgeben wird der Monat/Jahre und das Produkt.

Dann sollen die jeweiligen Produktmengen des gewählten Monats und Produkte von allen Restaurant in einen Auswerte-Sheet kopiert werden.
Des Weiteren soll auf der Auswertung auch noch der gewählte Monat und das produkt vermerkt werden.

Könnt ihr mir bitte helfen das mit einem MACRo umzusetzen ?
Das ist nur eine Beispieldatei, das orginal ist noch viel umfangreicher und ansonsten müsste ich das manuell machen:eek:
 

Anhänge

  • Restaurant 1.JPG
    Restaurant 1.JPG
    136,1 KB · Aufrufe: 259
  • Auswertung.JPG
    Auswertung.JPG
    71,8 KB · Aufrufe: 232
Hausaufgaben!
Wie wäre es mit einem Lösungsansatz, dann könnte es hier sogar weitergehen.

edit: ----------
Mal sehen was noch kommt...
 
Zuletzt bearbeitet:
Warum mit Makro? Diese Abfrage geht auch ohne Makro.
Oder sind es deine Hausaufgaben im Bereich VBA??? :freaky:
 
Es sind keine HAUSAUFGABEN:freak:

Es ist eine Beispiel-Datei, ich muss sowas mit anderen Parametern anstellen, welche ich hier nicht breittreten kann.
Ich dachte auch Schnitzel und Co sind da eingänglicher und bedürfen nicht soviel Erklärungen.

Ich habe sowas ähnliches schon mit einem Macro gemacht, ich wüsste nicht wie anders.

Dabei kopiere ich aber lediglich eine ganze Spalte anhand einer Jahreszahl.

Sub KopierenJahresberichtsingle()
Dim varInput, rngJahr As Range
varInput = Application.InputBox(Prompt:="Jahreszahl:", Title:="Spalte kopieren", Default:=Year(Date), Type:=1)
If VarType(varInput) = vbBoolean Then Exit Sub
Set rngJahr = Sheets("Jahres-Summen").Rows(3).Find(what:=varInput, lookat:=xlWhole, LookIn:=xlValues)
If Not rngJahr Is Nothing Then
rngJahr.Offset(0).Resize(90).Copy
Sheets("Jahresbericht").Range("C3").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
End If
Set rngJahr = Sheets("KPI_1").Rows(3).Find(what:=varInput, lookat:=xlWhole, LookIn:=xlValues)
If Not rngJahr Is Nothing Then
rngJahr.Offset(0).Resize(90).Copy
Sheets("Jahresbericht").Range("G3").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
End If
Set rngJahr = Sheets("Auswertung").Rows(3).Find(what:=varInput, lookat:=xlWhole, LookIn:=xlValues)
If Not rngJahr Is Nothing Then
rngJahr.Offset(0).Resize(90).Copy
Sheets("Jahresbericht").Range("H3").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
End If
Sheets("Jahresbericht").Select

End Sub




Ich glaube das ich mit einer Hilfestellung von Euch bezüglich der Nutzung von 2 Inputboxen und Kopierfunktion als MAcro die ganze Sache einfacher transferieren und erweitern kann.

Wenn es eine einfacher Lösung gibt, bitte immer her damit, ich bin zu allen Schandtaten bereit, die zielführend sind.
 
Warum sollen die Daten kopiert werden?
Für mich sieht es nach einer einfachen Abfrage mit 2 Parametern aus einer Tabelle aus?! --> Machbar als SVerweis in Verb. mit Vergleich
 
Die Zellen in welche die Daten übertragen werden soll, werden noch bedingt formatiert.

Je nach Schwelle wird eine Signalfarbe hinterlegt, dann kommt eine halbtransparente Karte darüber, so daß man für die einzelnen Standorte anhand der Auswahlfunktion und Farbe sofort auffälligkeiten sehen kann.

Kriege ich denn diesen dynamischen Datenübertrag auch via SVerweis hin ?

Im Sverweis habe ich doch nur eine Auswahlmöglichkeit die auf die ganze Matrix zugreift, oder sehe ich das falsch ?
 
Gurnison schrieb:
Die Zellen in welche die Daten übertragen werden soll, werden noch bedingt formatiert.
Das kannst du auch mit den Ergebnissen einer Formel machen.

Gurnison schrieb:
Kriege ich denn diesen dynamischen Datenübertrag auch via SVerweis hin ?
Im Sverweis habe ich doch nur eine Auswahlmöglichkeit die auf die ganze Matrix zugreift, oder sehe ich das falsch ?
Eine Formel mit Zugriff auf Zellen ist IMHO immer dynamisch.

SVerweis sucht und vergleicht in der ersten Spalte mit dem ersten Eingabewert und springt in der gefundenen Zeile in Spalte x.
Die Angabe der Spalte (Ort) suchst du dir mit dem Vergleich und dem zweiten Eingabewert.

Code:
SVERWEIS(<ersterWert>;<MatrixWerte>;VERGLEICH(<zweiterWert>;<MatrixOrte>;0))
 
Danke, ich probier das mal aus.
Ergänzung ()

Ich bekomme immer ein #NV angezeigt.

=SVERWEIS(B1;Dortmund!B3:G39;2;VERGLEICH(B2;Dortmund!B3:G39;0))

Was mache ich falsch ?

Und wenn ich das richtig verstehe, kann ich den Sverweis doch nur auf eine Spalte nutzen oder ?
Ergänzung ()

Damit gehts

=INDEX(Dortmund!$B$3:$G$39;VERGLEICH($B$1;Dortmund!$B$3:$B$39;0);VERGLEICH($B$2;Dortmund!$B$3:$G$3;0))
 
Zurück
Oben