Absuchen einer Tabelle nach Zelle mit bestimmter Zeile & Spalte (dynamisch!)

  • Excel

Es gibt 4 Antworten in diesem Thema. Der letzte Beitrag () ist von MultiTobi96.

    Absuchen einer Tabelle nach Zelle mit bestimmter Zeile & Spalte (dynamisch!)

    Hallo,

    folgendes Problem: ich habe ein Tabellenblatt in Excel auf dem ich mehrere leere Bereiche habe die es zu füllen gilt. Diese Bereiche habe ich als Tabelle formatiert und benannt. Im vorliegenden Fall heißt der Bereich "UserNat".
    Eine zweite Tabelle enthält die Daten dafür. In dieser zweiten Tabelle habe ich eine Spalte mit OrgEinheiten wie z.B. "AT". Ich zähle wie viele Zeilen mit der OrgEinheit "AT" es gibt und jetzt kommt der Knackpunkt. Die Bereiche in meiner Zieltabelle haben als Zeilenbeschriftung eben diese OrgEinheiten und als Spalten die Monate Jan-Dez. Jetzt muss die Zahl der Orgeinheiten in genau die Zelle der Tabelle eingetragen werden, die der OrgEinheit und dem aktuellen Monat entspricht. Ich denke mal den Monat auszulesen ist kein Problem. Aber für die Kombination aus beidem will mir einfach kein ordentlicher Lösungsansatz einfallen. Das ganze muss dynamisch bleiben, weil sich die Reihenfolge der OrgEinheiten ändern kann und die Monate sind ja eh dynamisch.
    Mein Ansatz bisher:

    Quellcode

    1. ' Anzahl der OrgEinheiten zählen
    2. For k = 2 To oSourceBook.ActiveSheet.UsedRange.Rows.Count
    3. If ActiveSheet.Cells(k, 3).Value = ActiveSheet.Cells(k + 1, 3).Value Then
    4. a = a + 1
    5. Else
    6. 'Übertragen der Anzahl in die Zieltabelle
    7. For i = 1 To oTargetSheet.UserNat.UsedRange.Rows.Count
    8. If oSourceBook.Cells(k, 3).Value = oTargetSheet.UserNat.Cells(i, 1).Value Then

    Allerdings springt er schon in der 7. Zeile raus, weil das mit dem oTargetSheet.UserNat... scheinbar nicht geht.

    Ich bin echt am verzweifeln, weil es einigermaßen dringend ist. Auch ein Ansatz würde mir schon sehr weiterhelfen. Falls meine Erklärung unklar ist, hiermal ein Ausschnitt der Zieltabelle:

    Jan
    Feb
    Mär
    Apr
    Mai
    Jun
    AT






    BE








    Vielen Dank im Vorraus :)

    Gruß MultiTobi96
    Ich verstehe es leider nich nicht ganz. Geht es um eine benannte Range?
    Dann wäre der Zugriff so:

    Visual Basic-Quellcode

    1. oTargetSheet.Range("UserNat").Rows.Count



    Bei Tabellen so:

    Visual Basic-Quellcode

    1. oTargetSheet.ListObjects("UserNat").Range.Rows.Count
    Das ist meine Signatur und sie wird wunderbar sein!
    Danke
    mit dem Zugriff auf die Range bin ich schon ein bisschen weiter gekommen.
    Allerdings kommt jetzt bei dieser Zeile:

    Quellcode

    1. If oSourceBook.Cells(k, 3).Value = oTargetSheet.Range("UserNat").Cells(i, 1).Value Then

    die Fehlermeldung: "Objekt unterstützt diese Eigenschaft oder Methode nicht"
    Ja.

    Ein Workbook hat keine Cells. Nur Sheet/Worksheet/Range Objekte haben Cells.
    Und ich vermute nur anhand des Namens das SourceBook eine Workbook Objekt ist. Anhand deiner eher dürftigen Codebeispiele geht es leider nicht hervor.
    Das ist meine Signatur und sie wird wunderbar sein!