ich habe eine Reihe von Namen die jeweils ein oder mehrere Zellblöcke als Adressen beinhalten. Jetzt muss ich diese Adressen in meinem Code verwenden. Alle Namen sind in einer Tabelle (Tabelle4) aufgelistet und ich hole mir mit Range("FileName.xlsm!Name").Address die Adressen.
Jetzt hab ich das Problem, dass er gar nicht die ganzen Adressen rausschreibt und nach etwas Testen scheint es eine Limitierung der Stringlänge von nameAddresses zu geben
Das ist der Code:
Private Sub liesAdressenAusNamen()
Dim tableLength As Integer '/// Länge der Tabelle
Dim tableStartRow As Integer '/// relative Anfangszeile der Datensätze
Dim tableStartColumn As Integer '/// relative Anfangsspalte der Datensätze
Dim loopVar1 As Integer '/// Laufvariable (Mehrfachverwendung!)
Dim fileName As String '///Variable für den Dateinamen
Dim nameAddresses() As String '/// Variable für die gesamte Range-Adresse eines Namens
Dim namesFromList As Variant '/// Variable zum auslesen der Namen aus Tabelle4
tableLength = Tabelle1.ListObjects("Tabelle4").Range.Rows.Count - 1
tableStartColumn = Tabelle1.ListObjects("Tabelle4").Range(2, 1).Column
tableStartRow = Tabelle1.ListObjects("Tabelle4").Range(2, 1).Row
fileName = Application.ThisWorkbook.Name
' Liest die Adressen der Namen aus Tabelle4 aus und schreibt sie ins Array nameAdresses (ab _
Index 1)
For loopVar1 = 1 To tableLength
namesFromList = Tabelle1.Cells(loopVar1 + tableStartRow - 1, tableStartColumn)
ReDim Preserve nameAddresses(loopVar1)
On Error Resume Next ' wird getriggert falls einer der gelisteten Namen in Tabelle4 gar _
nicht als Name im Sheet definiert ist
nameAddresses(loopVar1) = Range(fileName & "!" & namesFromList).Address
Tabelle7.Cells(loopVar1 + 1, 1).Value = nameAddresses(loopVar1) ' #### Fehlersuche: zum _
Testen was er in das array schreibt
Next
End Sub
Das ergibt die Funktion LÄNGE bei den in Tabelle7 eingetragenen Strings
Das Auslesen der Adressen scheint auf 255 Zeichen limitert zu sein. Was kann ich tun um die ganze Adresse auszulesen?
Grüße
Peter