Clever-Excel-Forum

Normale Version: mit VBA Werte überprüfen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo allerseits, 

In meiner Excel-Datei habe ich 4 Spalten:
- Lieferant
- Land
- Kategorie 1
- Kategorie 2

ich würde gerne mittels VBA checken, ob die Werte von Kategorie 1 und 2 für die einzelnen Lieferanten größer gleich 55 sind.
Falls beide Kategorien (oder nur eine) >= 55 sind, dann würde ich gerne in einer zweiten Seite dies untereinander wie folgt anzeigen lassen:

Beispiel mit 2 Lieferanten (Deutschland & Indien)

Lieferant1 Deutschland Kategorie1 55
Lieferant1 Deutschland Kategorie2 70
Lieferant2 Indien Kategorie1 60


Ich habe dies in einer Excel-Datei eingetragen.
Leider sind meine VBA-Künste sehr gering und ich hoffe jemand kann mir dabei helfen.


[attachment=44859]
Hallo, 19 

brauchst du da unbedingt VBA? 21
[attachment=44860]

Hier mal mit Power Query. Ein erster Einstieg...
Hallo und danke für die Hilfe,

Ich hab ehrlich gesagt noch nie mit Power Query gearbeitet und muss mich da etwas reinfuchsen.
Aber es scheint das richtige dabei rauszukommen :) Gibt es da denn noch die Möglichkeit, dass die "55" als Zelle definiert werden kann?

Wenn ich in Zelle A1 55 eingebe dann nimmt er alles mit 55 und wenn ich dort 10 eintrage alles >= 10?

VG
Hallo, 19 

wenn du eine Zelle als Grundlage nehmen willst, dann so: 21
[attachment=44864]

Das geht nach diesem Prinzip - How to use Named Cells as parameter inputs for Power Query...
Hallo Case,

Vielen Herzlichen Dank für deine guten Tipps und Beispiele.
Ich habe versucht diese für meinen Fall selber anzuwenden und bin auf 2 Probleme gestoßen: 

  1. Wenn der Zellwert keine Zahl sondern Text "N/A" ist, hat der Operator >= einen Fehler ausgegeben.
  2. Trotz Nutzung der Anleitung funktioniert das festlegen via Textfeld nicht korrekt, da er "Zahl" nicht erkennt. Er sagt:
    Expression.Error: Der Operator "<" kann nicht auf die Typen "List" und "Number" angewendet werden.Details:    Operator=<    Left=
    •     Right=24


    Ich habe dir unten mal die "richtige" Datei angehängt, da ich in dem Thread das Problem so simplifiziert versucht habe darzustellen wie möglich, damit es einfacher ist es zu verstehen.

    Was ich möchte:
    Ich möchte die Kategorien von Spalte H bis V aus dem Sheet "Vorlage" in ein neues Sheet "Risks" packen nach dem Prinzip wie du es mir gezeigt hast, sprich:

    • Eine Auflistung der einzelnen Kategorien für jeden einzelnen Lieferanten, der einen Wert >= des in "Risks B2" fesgetelegtem Wert entspricht.
    • Wenn eine Kategorie "N/A" beinhaltet, soll diese in "Risks" nicht angezeigt werden. Nur Kategorienmit Werten sollen dort stehen.


    Ich habe es dank deiner Hilfe soweit hinbekommen, dass es abgesehen von N/A und der Zelle als Vorgabe für den Wert funktioniert.
    Ich würde mich freuen, wenn Du dir dies einmal anschauen könntest.
Hallo, 19 

tausche bitte die Datei mit einer aus, wo auch Fehler drin sind. Ich möchte es nicht nachstellen, um dann festzustellen, dass alles ganz anders ist. 21
Hallo,

Tut mir Leid, ist nun erledigt :)



Ich habe jetzt einen Fall hinzugefügt in dem N/A vorhanden ist.


Dadurch ist in der Vorschau der Abfrage für die Tabelle bereits "Error" enthalten und es funktioniert nicht.:
[Expression.Error] Der Operator "<" kann nicht die auf die Typen "Number" und "Text" angewendet werden.

Die 2. Abfrage "Zahl" als Vorgabe für den Wert zu wählen funktioniert ebenfalls nicht:
Expression.Error: Der Operator "<" kann nicht auf die Typen "List" und "Number" angewendet werden.
Details:
    Operator=<
    Left=
  •     Right=24



    Ich glaube ich habe die Abfrage "Zahl" nicht ganz richtig durchgeführt. In deinem Beispiel hatte sie das Symbol "ganzer Zahlen 123" und bei mir ist ein Listen-Symbol.
Hallo, 19 

du musst die Schritte genau ausführen. 21
[attachment=44877]
Hallo Case,

Vielen vielen Dank für deine großartige Hilfe.
Ich konnte jetzt alles selber erstellen dank deiner Beispiele und habe jetzt auch wenigstens verstanden was ich dort gemacht habe 19

Und ja ich habe auch gesehen wieso es vorher nicht geklappt hat, peinlich peinlich  Blush 20

Somit ist es erledigt. Schönen Tag noch