Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
916to920
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
916to920
916to920
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Listbox

Listbox
22.10.2007 14:17:02
Ludwig
Hallo Experten
Mit
Dim nme As Name
Dim arr()
Dim iRow As Integer
ReDim arr(0 To 1, 0)
For Each nme In ActiveWorkbook.Names
ReDim Preserve arr(0 To 1, iRow)
arr(0, iRow) = nme.Name
arr(1, iRow) = Range(nme.Name).Value
iRow = iRow + 1
Next nme
LB_Namen.Column = arr
möchte ich eine Listbox mit den Variablennamen und den gespeicherten Werten füllen.
Leider bekomme ich einen Fehle für den Wert "Range(nme.Name).Value ".
Name kann eine Zahl, Text, Range enthalten, was halt so üblich ist.
Wie bekomme ich den Wert von Name in die Listbox?
Vielen Dank für eine Antwort in voraus.
Gruß Ludwig

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Listbox
22.10.2007 22:19:45
Josef
Hallo Ludwig,
das würde so nicht funktionieren.
'Entweder so
'###
Dim nme As Name

With LB_Namen
    
    For Each nme In ActiveWorkbook.Names
        .AddItem nme.Name
        .List(.ListCount - 1, 1) = nme.Value
    Next nme
    
End With
'###
'oder so
'###
Dim nme As Name

Redim arr(0 To ActiveWorkbook.Names.Count - 1, 1)

For Each nme In ActiveWorkbook.Names
    arr(nme.Index - 1, 0) = nme.Name
    arr(nme.Index - 1, 1) = nme.Value
Next nme

LB_Namen.List = arr
'###

Gruß Sepp

Anzeige
AW: Listbox
23.10.2007 08:05:53
Ludwig
Hallo Sepp
Danke für die Antwort!
Leider bekomme ich mit Deinem Code das gleiche Ergebnis wie mit meinem:
arr(nme.Index - 1, 0) = nme.Name liefert schön den ZellNamen z.B. "Auftragsnummer"
arr(nme.Index - 1, 1) = nme.Value liefert z.B. "Formaufbau!$E$3", also den Zellbezug!
In der Zelle "Formaufbau!$E$3" steht jedoch " 06/2030/1/01 C160"
Wie komme ich an den Zellinhalt?
(Der nme.Value kann eine Zahl, ein Text oder auch ein array sein!)
Gruß Ludwig

AW: Listbox
23.10.2007 21:32:27
Josef
Hallo Ludwig,
probier mal.
Private Sub CommandButton1_Click()
Dim mne As Name
Dim strValue As String
Dim i As Integer, l As Long



With ListBox1
    .ColumnCount = 2
    .Clear
    
    For Each mne In ThisWorkbook.Names
        strValue = ""
        If mne.RefersToRange.Count = 1 Then
            strValue = mne.RefersToRange.Formula
        Else
            For l = 1 To mne.RefersToRange.Rows.Count
                For i = 1 To mne.RefersToRange.Columns.Count
                    strValue = strValue & mne.RefersToRange.Formula(l, i) & "."
                Next
                strValue = Left(strValue, Len(strValue) - 1)
                strValue = strValue & ";"
            Next
            strValue = "{" & Left(strValue, Len(strValue) - 1) & "}"
        End If
        .AddItem mne.Name
        .List(.ListCount - 1, 1) = strValue
    Next
    
End With

End Sub

Gruß Sepp

Anzeige
AW: Listbox
24.10.2007 08:21:36
Ludwig
Hallo Sepp
Du hast dir ja reichlich Mühe gemacht das Problem zu lösen.
Leider läuft die Stringbearbeitung nicht ohne Fehler durch und steigt irgendwann in der Schleife bei
".List(.ListCount - 1, 1) = strValue" aus.
Ich habe mir zwischendurch überlegt die Variablen in ein Tabellenblatt zu schreiben und dann von dort in die ListBox einzulesen. Habe allerdings den Code dafür noch nicht geschrieben.
Vielen Dan für Deine Unterstützung!
Ludwig

AW: Listbox
24.10.2007 22:40:29
Josef
Hallo Ludwig,
ich weis ja nicht was du erreichen willst, aber vielleicht ist das was für dich.
http://www.jkp-ads.com/OfficeMarketPlaceNM-EN.asp
Gruß Sepp

Anzeige
AW: Listbox
26.10.2007 08:14:00
Ludwig
Danke für den Hinweis!
Gruß Ludwig

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige