Office: vlookup macht probleme

Helfe beim Thema vlookup macht probleme in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hallo liebe Forumsgemeinschaft! Leider habe ich nah einigen Monaten doch wieder Probleme. Ich wollte mein Tool wieder mal verbessern, und beim finalen... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von janiki0812, 5. Dezember 2020.

  1. vlookup macht probleme


    Hallo liebe Forumsgemeinschaft!

    Leider habe ich nah einigen Monaten doch wieder Probleme. Ich wollte mein Tool wieder mal verbessern, und beim finalen Schritt macht es Probleme.

    Tabelle6 = Erfassung, Dateneingabe
    Tabelle29= Artikelstamm, dort ist eine formatierte Tabelle mit dem Namen "Artikelstamm".

    Wenn ich den Sverweis via VBA durchführen möchte stürzt excel entweder ab, oder ich bekomme den Fehler "nicht genügend Stapelspeicher".
    Leider kann ich nicht direkt in der Zelle den Sverweis eingeben, da auch eine manuelle Eingabe möglich sein muss.

    Code:
    Kann mir jemand helfen was hier das problem ist?
    Vielen Dank,
    beste Grüße,
    janiki

    :)
     
    janiki0812, 5. Dezember 2020
    #1
  2. Der Code ist in meinen Augen korrekt. Kann es sein, dass du ein Worksheet Change oder Calucalte Event hast, das angestoßen wird? Darauf deutet das Stapelspeicherproblem hin.
     
    MisterBurns, 7. Dezember 2020
    #2
  3. Guten Morgen!
    Ja du hast recht, ich hab das in einem worksheet change Ereignis.
    Wie kann ich das gleiche umsetzen, ohne dies im change zu machen?

    Danke vorab. Beste Grüße
     
    janiki0812, 7. Dezember 2020
    #3
  4. vlookup macht probleme

    Wie Berni schon schrieb, ist das vermutlich ein Worksheet_Change-Ereignis. Da Du durch die Änderung dieses Ereignis immer wieder aufrufst, ist irgendwann der Stapelspeicher voll.

    Setze vor den Code Application.EnableEvents = False und danach Application.EnableEvents = True
     
    Der Steuerfuzzi, 7. Dezember 2020
    #4
  5. Neben Michaels entscheidendem Rat noch einige Hinweise:

    Code:
    Die meisten Zellbezüge sind ordentlich referenziert, mit Angabe des Arbeitsblattes. Lediglich das Evaluate-Konstrukt ([]) ist es nicht, zudem ist dies die unsauberste Art eines Verweises. Ich empfehle, das Ansprechen von Zellen zu vereinheitlichen. Am saubersten ist dir das gelungen mit Tabelle6...., Sheets()... sollte zu Worksheets() werden und die eckigen Klammern sollten nicht genutzt werden.
    Tabelle6 ist deswegen am saubersten, weil du nicht in Konflikt mit anderen offenen und aktiven Mappen kommst. Wenn du Worksheets() nutzt, sollte noch die Angabe des Workbooks ergänzt werden, hier also vermutlich ThisWorkbook.Worksheets()...

    Weiterhin sollte auch immer die Eigenschaft genannt werden, auf die du zugreifst, hier also die Value-Eigenschaft der Zellen (steht nicht immer da). Value ist zwar der Default, wird also ohne Nennung angenommen. Dennoch schafft es Klarheit, wenn der Leser der Codes sofort sieht, was gemeint ist, ohne zu wissen, was bei dem Objekt gerade der Default ist.

    Worksheetfunction liefert keinen auswertbaren Fehler. Nutze stattdessen Application.Vlookup(). Dessen Rückgabewert ist leicht auf einen Fehler prüfbar, ohne dass das Programm abschmiert.
     
    EarlFred, 7. Dezember 2020
    #5
  6. Beispiel für eine Fehlerauswertung:
    Code:
     
    EarlFred, 7. Dezember 2020
    #6
  7. hallo und vielen Dank für eure zahlreichen Hilfestellungen! *Smilie

    Ich habe es versucht umzusetzten, allerdings habe ich noch einige probleme.
    Die select case methode funktioniert perfekt, wenn wirklich ein fehler ist. Wenns aber korrekt ist und ein WErt verfügbar ist, dann stürzt excel ab und ich muss neustarten.

    ich fände es schön, wenn bei fehler alle betreffenden zellen leer sind und eine msgbox"Fehler bla bla.." aufpoppt. leider klappt das so nicht.
    Hier der vollständige Code.
    Danke vorab!
     
    janiki0812, 8. Dezember 2020
    #7
  8. vlookup macht probleme

    ich habe versucht deinen rat umzusetzen, allerdings habe ich noch nicht ganz verstanden..

    Ist nun

    a) Thisworkbook.tabelle6.cells(a,b).value

    oder
    b) thisworkbook.worksheets("Artikelstamm").cells(a,b).value

    richtig?
    ich möchte natürlich den rat annehmen und alles sauber angeben. vorallem um keine probleme zu haben wenn eine weitere excel mappe geöffnet ist.

    danke und besten gruß
     
    janiki0812, 8. Dezember 2020
    #8
  9. Nochmal zur Verdeutlichung: Eine Formelberechnung in einem Calculate-Ereignis geht nur dann gut, wenn du Michaels Rat aus Beitrag #4 befolgst, sonst rechnet sich das Teil zu Tode.
     
    MisterBurns, 8. Dezember 2020
    #9
  10. Au weia, bei der Fehlerbehandlung fehlte noch die vorlaufende Prüfung... Habe ich ergänzt.

    Zudem habe ich den Code etwas umgebaut, schau's dir mal an.

    Anstelle Activecell (das ist in diesen Ereignisprozeduren ein absolutes No-Go!) habe ich Target verwendet. Zudem prüft der Code jetzt auch mehrere Eingaben auf einmal (z. B. bei Copy&Paste).
    Weiterhin werden nur Werte (Änderungen) bearbeitet, wenn diese im Bereich D28 bis D eingetragen wurden. Kontrolliere bitte, ob ich den Eingabebereich richtig aus Deinem Code interpretiert habe und passe das ggf. an.

    Weiterhin nehme ich wegen des Codes an, dass er in Tabelle6 liegt. Dann kann innerhalb der Prozedur auf dieses Blatt mittels ME referenziert werden.

    Code:
    Solltest du mit den Änderungen nicht klarkommen, weil meine Vermutungen nicht richtig waren, stelle bitte eine Mustermappe (xlsx ohne Makros) zur Verfügung.
     
    EarlFred, 8. Dezember 2020
    #10
  11. hatte ich nicht vorgeschlagen und das wird in der Regel auch nicht funktionieren. Alle weiteren Erläuterungen führen an dieser Stelle zu weit.

    tabelle6.cells(a,b).value
    oder
    thisworkbook.worksheets("Artikelstamm").cells(a,b).value
    sind beide "richtig", da eindeutig.
     
    EarlFred, 8. Dezember 2020
    #11
  12. Hallo Mister Burns,
    Ja, danke *Smilie als ich den rat umgesetzt habe gab es auch keine damit auch keine probleme mehr *Smilie

    besten gruß und schönen Abend! *Smilie
     
    Zuletzt von einem Moderator bearbeitet: 12. Januar 2021 um 10:17 Uhr
    janiki0812, 9. Dezember 2020
    #12
  13. vlookup macht probleme

    Solltest du mit den Änderungen nicht klarkommen, weil meine Vermutungen nicht richtig waren, stelle bitte eine Mustermappe (xlsx ohne Makros) zur Verfügung.


    Risen Dank für deine sehr tolle Hilfe, und das du dir die Mühe gemacht hast alle umzuschreiben und zu kommentieren! funktioniert perfekt!!!
    Vielen Dank!! *Smilie

    Ich steh bisschen auf der Leitung bzgl Zellen ansprechen.

    Wie ist der vorbildliche Weg?
    Wie kann ich die zellen wirklich klar ansprechen, ohne probleme zu haben, wenn andere Datein geöffnet sind. Logisch für mich wäre ThisWorkbook.Worksheets("xxx").Range("abc") / oder .cells(a,b)

    Ich hoffe ich habe das richtig verstanden *Smilie

    beste Grüße
     
    Zuletzt von einem Moderator bearbeitet: 12. Januar 2021 um 10:17 Uhr
    janiki0812, 9. Dezember 2020
    #13
  14. Siehe Beitrag #11, da steht nochmal klarer, was schon im Beitrag #5 stand
     
    EarlFred, 9. Dezember 2020
    #14
  15. ahh nun denke ich es verstanden zu haben.. danke für das erneute wachrütteln! *Smilie

    Ich dachte das Tabelle6. in mehreren xlsm Dateien vorhanden sein kann, aber vermutlih bleibts bei tabelle6 in dem projekt wo der code steht.
    sry, dass ich da nicht ganz sauber drauf bin.

    glg Janiki
     
    Zuletzt von einem Moderator bearbeitet: 12. Januar 2021 um 10:17 Uhr
    janiki0812, 9. Dezember 2020
    #15
Thema:

vlookup macht probleme

Die Seite wird geladen...
  1. vlookup macht probleme - Similar Threads - vlookup probleme

  2. Die VLookup-Eigenschaft des WorksheetFunction-Objektes kann nicht zugeordnet werden.

    in Microsoft Excel Hilfe
    Die VLookup-Eigenschaft des WorksheetFunction-Objektes kann nicht zugeordnet werden.: Hi Forum, hab da ein für mich unerklärliches Problem und hoffe, jemand kennt die Lösung. Gegeben: Office 2016 Prof Tabelle8 Bereich von A2 bis B13, aus dem mittels SVerweis ein Wert aus Spalte B...
  3. VLookup/Sverweis mit Variablen/Range

    in Microsoft Excel Hilfe
    VLookup/Sverweis mit Variablen/Range: Hallo zusammen, ich lese jetzt seit ein paar Wochen hier passiv mit, und habe nebenbei an einem kleinen Automatisierungsprojekt für die Arbeit gearbeitet. Soweit funktioniert alles ganz gut, nur...
  4. VBA: vlookup in einer Schleife funktioniert nicht

    in Microsoft Excel Hilfe
    VBA: vlookup in einer Schleife funktioniert nicht: Hallo zusammen, ich hab hier ein lästiges Problem mit einer vlookup-Funktion innerhalb einer Schleife und komme einfach nicht dahinter, woran es liegt. Vielleicht sieht jemand von euch meinen...
  5. VLookup mit zwei Kriterien

    in Microsoft Excel Hilfe
    VLookup mit zwei Kriterien: Hallo Zusammen, ich möchte aus einer Matrix einen Wert aus einer Zelle, die ich mit zwei Suchkriterien bestimmen kann, in eine neue Tabelle eintragen. Bisher hab ich es mit dieser Variante...
  6. Problem bei Excel - VBA Makro SVERWEIS funktioniert nicht!

    in Microsoft Excel Hilfe
    Problem bei Excel - VBA Makro SVERWEIS funktioniert nicht!: Hallo Zusammen, vielleicht kann mir jemand bei meinem Problem helfen. Ich bin in der VBA Programmierung nicht so fit. Ich habe es mit einer Makroaufzeichnung versucht und bekam dieses Ergebnis:...
  7. VBA VLookup in geschlossene Datei

    in Microsoft Excel Hilfe
    VBA VLookup in geschlossene Datei: Hallo Ich brauche Hilfe mit dem SVerweis in VBA. Ich habe ein VBA-Skript, welches einen SVerweis in eine andere Datei ausführen soll. Die betreffende Zeile lautet: If strAntenna <>...
  8. VLookup mit Range Name in Makro

    in Microsoft Excel Hilfe
    VLookup mit Range Name in Makro: Hallo zusammen, ich würde gerne mein Makro so verändern, dass ich auch nach einfügen von Spalten das Makro nicht ändern muss. Bei anderen Formeln habe ich es per Range Names gelöst. Jetzt...