Also habe ich eine Spalte mit Namen aus B5:B28
gefüllt. Nachschlagen von dynamischen benannten Bereiche, verwendete ich die folgende Formel, um die Liste der Namen in der Säule zu erhalten:Der angegebene Bereich gibt nicht die korrekte Zellenanzahl zurück.
=OFFSET(Overview!$B$5, 0, 0, COUNTA(Overview!$B$5:$B28),1)
Beachten Sie, dass die nur in Spalte B bevölkerten Reihen sind B2
bis B28
, mit B5
ist der Ausgangspunkt die Liste der Namen. Die $B28
in der obigen Formel ändert sich ständig, auch wenn es absolut nichts in den Zeilen unter B28
gibt. Und genau hier liegt das Problem.
Alle Zeilen von B5:B28
sind mit Literalzeichenfolgen (keine Formeln) gefüllt und haben keine leere Zelle. Wenn ich den Wert Range("Names").Rows.Count
bekomme, gibt es nur 21, 3 Zeilen kurz. Ich verstehe, dass der Bereich flüssig sein soll, aber ich verstehe nicht, warum die COUNTA
eine geringere Menge erhält.
Überprüfen =COUNTA(Overview!$B$5:$B28)
, gibt es den richtigen Wert von 24 aus. Kann mir jemand erklären, was passiert?
Was meinst du mit "The $ B28 in der obigen Formel ändert sich ständig"? –
Wenn Sie den Bereich "Namen" als "$ B $ 5: $ B28" definiert haben, waren Sie in einer Zelle in Zeile 4? Wenn dies der Fall ist, wird der Bereich, wenn er in VBA (implizit von Zelle A1) bezeichnet wird, nur von "$ B $ 5: $ B25" und somit nur 21 Zeilen in der Größe sein. Ich kann nicht verstehen, warum eine Formel in Excel (die von einer Nicht-A1-Zelle stammt) denkt, dass die Größe etwas anderes als 24 Zeilen ist, wenn die Formel in dieser Zelle sich auf $ B $ 5: $ B28 bezieht. (Offensichtlich, wenn es sich auf 'Namen' und nicht auf '$ B $ 5: $ B28' bezieht, wird es je nach der Zeile der Formel reduziert oder erweitert.) – YowE3K
@ YowE3K Ich habe eine Antwort gepostet, die auf Ihren Kommentar verweist plus eine bessere Form der Formel. Wenn du lieber selbst antworten möchtest, ping mich an und ich werde es entfernen –