Ankündigung

Einklappen
Keine Ankündigung bisher.

Excel SVerweis / VBA

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    Excel SVerweis / VBA

    Hallo,

    ich will eine Tabelle erstellen, in der ich 3 Werte/IDs von verschiedenen Reitern miteinander vergleiche und bei nicht vorhanden (#NV) Spalten automatisch unten in das jeweilige Segment einfüge.


    Das ist die Haupttabelle:



    Unten sind noch die Reiter Hand und CAD:

    mit einem SVerweis habe ich die Spalten D und F gefüllt, H wurde mit einer Anzahl abgefragt und die Spalte I wieder mit einem normalen WENN.

    Erklärung:
    AKS ID Liste: gibt es z.B. 1 2 3 4 5 8 9 10 11 14 13 usw.
    "AKS händisch" wird nun mit einem SVERWEIS aus dem Reiter verglichen. Wenn die AKS ID identisch ist also z.B. 1 und 1 wird 1 reingeschrieben.

    =SVERWEIS(B2;Hand!$B$3:$B$34;1;0)

    Wenn nun aber z.B. in dem Reiter Hand 6 übertragen wird und diese in der Hauptliste nicht vorhanden ist muss die 6 unten an das "AKS Händisch" hinzugefügt werden und nur dort. Dasgleiche gilt bei AKS CAD.

    Theoretische sollte das nun mit einer VBA Abfrage klappen, praktisch bin ich da nicht so begabt wie mit Excelkommandos. Kann da evtl. jemand helfen? Hoffe man versteht es halbwegs :)

    Über Hilfe bin ich dankbar. Evtl. gibt es auch gute Excel VBA Seiten wo ich nun selber finde - dann schaffe ich es evtl. selber ;)



    #2
    Verstehe nicht, was du willst :|

    Kommentar


      #3
      Zitat von slayer
      Verstehe nicht, was du willst :|
      So geht es mir auch.

      Kommentar


        #4
        Ich habe ein Excel Sheet.

        Mit den Reitern:
        Haupt Hand CAD



        In der Liste Haupt ist folgendes drin:
        Spalte B: „AKS ID LISTE“ per Hand eingetragen
        1 2 3 4 5 6 7 8 9 10 usw.
        Spalte D: „AKS Händisch“ aus dem Reiter Hand
        Dort sind in der Spalte B auch Zahlen 1 2 4 5 6 7 usw. um diese Daten in den Reiter „Haupt“ zu kopieren wurde ein SVerweis gemacht

        =SVERWEIS(B2;Hand!$B$3:$B$34;1;0)

        Wie im Bild zu sehen ist, wird bei D6 ein #NV reingeschrieben weil durch die Abfrage im Reiter keine 5 im Reiter „Hand“ ist. Nun gibt es aber auch IDs die in „AKS ID Liste“ nicht drin stehen, sondern nur in „AKS händisch“. Diese müssen aber trotzdem in die Haupttabelle übertragen werden, da man nicht weiß an welchen Platz, soll es einfach unten in der entsprechenden Spalte hinzugefügt werden. Siehe D22.

        Das Prozedere muss sich dann für den Reiter „CAD“ wiederholen. „AKS CAD“ muss nicht nur „AKS ID LISTE“ prüfen, sondern auch dann die „AKS Händisch“.
        Evtl. ist auch eine ganze VBA Abfrage sinnvoller als irgendwelche SVerweise. Damit alles geprüft werden kann.

        Bin selber etwas verwirrt. Aber ich hoffe es ist nun klarer.. oder auch nicht :)

        Kommentar


          #5
          Du willst also alle Einträge, die es nicht als Referenz gibt einfügen?
          so?
          Spoiler: 

          VBA:
          dim i as integer
          dim j as integer
          dim v as variant
          dim c as collection
          dim b as boolean
          set c = new collection
          i = 1
          do while worksheets("haupttabelle").cells(i,2).value ""
          c.add worksheets("Haupttabelle").cells(i,2).value
          i = i +1
          loop

          i = 1

          do while worksheets("Hand").cells(i,1).value ""
          i = i +1
          loop

          for v in c
          j = 1
          b = false
          do while worksheets("Hand").cells(j,1).value ""
          if c = worksheets("Hand").cells(j,1).value then
          b = true
          end if
          loop
          if b = false Then
          worksheets("Hand").cells(i,1).value = c
          i = i +1
          end if
          next

          //so auf die Art, habs nicht ausprobiert

          Kommentar

          Lädt...
          X