In Excel habe ich eine Spalte wie folgt, als Teil einer Arbeitsmappe Vorlage:Zugriff auf dynamische benannte Bereiche in VBA
Date Asset Return
1/3/2005 0.003582399
1/4/2005 -0.01908258
1/5/2005 0.002080625
1/6/2005 0.005699497
1/7/2005 -0.008040505
1/10/2005 -0.00339116
1/11/2005 -0.009715187
1/12/2005 0.002371855
1/13/2005 -0.00580783
1/14/2005 0.001058481
1/18/2005 0.015483842
1/19/2005 -0.014690715
1/20/2005 -0.015714799
1/21/2005 -0.010796326
ich Excel als Benutzeroberfläche bin mit. Ein Benutzer wird Daten in Excel eingeben, und dann wird es von einem anderen Programm (Matlab) eingelesen, das Berechnungen durchführt.
Um dies zu tun, verwende ich einen VBA-Befehl es in Matlab zu senden und direkt auf den Bereich beziehen oder durch den Bereich der Benennung:
MLPutMatrix "VARIABLE_NAME", Range("B8:B2954")
oder
MLPutMatrix "VARIABLE_NAME", Range("NamedRange")
Mein Problem ist, dass ich Ich weiß nicht, wie groß der Bereich im Voraus sein wird, da die Anzahl der Zeilen unterschiedlich ist, je nachdem, welche Daten der Benutzer in den Excel-Bereich eingibt.
Ich habe versucht, einen benannten Bereich zu schaffen, die unter Verwendung dieser Formel auf die letzte nicht leere Zeile bezieht:
Sheet1!$B$8:INDEX(Sheet1!$B:$B,COUNTA(Sheet1!$B:$B)+8)
jedoch offensichtlich benannte Bereiche, die definiert sind, mit einer Formel nicht auftauchen im Namen Box und kann nicht in VBA-Skripten verwendet werden, so dass dies nicht funktioniert. Ich muss manuell einen Namen erstellen, damit er im Namensfeld angezeigt wird und mit VBA darauf zugreifen kann, aber natürlich kann ich das nicht, wenn ich meine Bereichsabmessungen nicht im Voraus kenne.
Also mein Problem ist: Ich muss einen Weg finden, in der Lage zu sein, auf einen Dynamikbereich entweder nach Name oder nach seiner Größe zu verweisen, und dann in VBA zu verweisen, damit ich es an Matlab senden kann Verwenden Sie den Befehl "MLPutMatrix".
hallo, Sie haben kein Problem mit Hilfe von Tabellen in Excel? das gibt Ihnen automatisch einen benannten dynamischen Bereich. pls sehen Sie dieses Video: https://www.youtube.com/watch?v=uLJEMnIT0zM es erklärt, wie man einen dynamischen Bereichsnamen benutzt. ich hoffe es hilft! – Hadi