Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

ListBox in VISIO mit Datein aus EXCEL-Tabellenblatt füllen

Forumthread: ListBox in VISIO mit Datein aus EXCEL-Tabellenblatt füllen

ListBox in VISIO mit Datein aus EXCEL-Tabellenblatt füllen
11.09.2024 14:49:15
Rob_E
Hallo,

ich habe folgendes Problem. Ich möchte eine Listbox auf einem userform in Visio mit Daten aus einer Exceltabelle füllen.

Aber egal, was ich in das Feld RowSource eintragen will (egal ob bereits ins Eigenschaften-Feld in der Entwicklungsumgebung oder erst per VBA-Code während der
Laufzeit, ich bekomme immer verschiedenste Fehlermeldungen.

Wenn ich die Listbox in einem userform innerhalb Excel platziere und in der Entwicklungsumgebung als RowSource ==> [Mappe1.xlsm]Tabelle1!A1:G10 eintrage,
zeigt die Listbox die Werte aus dem angegebenen Range an.
Versuche ich das gleiche mit der Listbox in Visio hagelt es Fehlermeldungen
z.B.
Eigenschaft RowSource konnte nicht gesetzt werden. Ungültiger Eigenschaftswert.
Bei Versuch RowSource per VBA zu setzen, kommt die Fehlermeldung:
Laufzeitfehler 380: Eigenschaft RowSource konnte nicht gesetzt werden. Ungültiger Eigenschaftswert.

In ein Textfeld, das ebenfalls im userform in Visio platziert ist, bekomme ich hingegen einzelne Werte bereits ohne Fehlermeldung aus Excel nach Visio rüber.



Private Sub UserForm_Initialize() 'Userform unter VISIO
Dim xlApp As Excel.Application
Dim xlArbeitsmappe As Excel.Workbook
Dim xlBlatt As Excel.Worksheet
Dim xlBereich As Range

Set xlApp = GetObject(, "Excel.Application")
Set xlArbeitsmappe = xlApp.Workbooks("Mappe1.xlsm")
Set xlBlatt = xlArbeitsmappe.Sheets("Tabelle1")
xlApp.Visible = True

Dim Auslesewert As String


Auslesewert = xlBlatt.Cells(1, 1).Value
txtAuslesewert.Text = Auslesewert 'Schreibt zur Gegenkontrolle den Wert aus Zelle A1 in ein Textfeld im userform hier unter VISIO
'(funktioniert bereits Anwendungsübergreifend)

'ListBox1.RowSource = xlBlatt.Name & "!A1:G10" '==> ebenfalls Fehlermeldung 380


'ListBox1.RowSource = "[Mappe1.xlsm]Tabelle1!A1:G10" 'Liefert Laufzeitfehler 380 (Nur in Visio!, innerhalb Excel
'funktioniert es)


'Eintrag in Eigenschaftenfenster unter RowSource der Listbox unter Excel:
'[Mappe1.xlsm]Tabelle1!A1:G10 funktioniert ebenfalls, nicht aber hier unter VISIO

End Sub


Vielen Dank für Eure Hilfe im Voraus.

PS: Sollte ich bei der Suche im Forum bereits existierende Lösungen dazu übersehen haben, bitte ich um Nachsicht.

Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: ListBox in VISIO mit Datein aus EXCEL-Tabellenblatt füllen
11.09.2024 19:13:15
ralf_b
Möglicherweise mußt du den kompletten Dateipfad in die Rowsource der Viso-Userform schreiben. Ähnlich wie ein Dateiverweis in einer Excelformel zu einer externen Datei.
Ist aber nur geraten, da ich Visio nicht kenne. Es dürfte auch ein Problem sein das Excel eine andere Application ist. Keine Ahnung ob Visio mit solchen Dateiverweisen umgehen kann.

Auslesewert = xlBlatt.Cells(1, 1).Value
das funktioniert weil der Wert hier aus einem bekannten Objekt geholt wird und in einer lokalen Variablen gespeichert wird.

Besser wäre wahrscheinlich die Daten nicht mittels Rowsource , sondern mit .List() an die Listbox binden.

Alternativ mal in einem viso forum fragen: https://visguy.com/vgforum/index.php
Anzeige
AW: ListBox in VISIO mit Datein aus EXCEL-Tabellenblatt füllen
11.09.2024 20:08:36
Rob_E
Hallo ralf_b

das mit dem vollständigen Pfad hab ich auch schon probiert. Geht leider ebenfalls nicht.

Eigentlich muss ich die Daten ja in CorelDraw reinkriegen und nicht in VISIO. Da ich aber auf
meinem Firmenrechner CorelDraw nicht installiert habe und auch nicht bekomme (jede
Lizenz kostet ja) hab ichs mal über VISIO probiert, denn das VBA-Objekt ListBox ist hier ja
das selbe, da es aus der gleichen Microsoft-DLL kommt.

Das mit .List() hab ich noch nicht probiert. Aber gibt es da nicht die Beschränkung mit maximal 10 Spalten.
Ich brauch definitiv mehr.

Naja, mal sehen. Trotdem vielen Dank.
Rob_E
Anzeige
AW: ListBox in VISIO mit Datein aus EXCEL-Tabellenblatt füllen
11.09.2024 20:28:56
ralf_b
das Einfügen mit Additem hat diese Beschränkung.
mit List() geht da schon mehr. Hier wäre nur zu beachten das man Zeit-/Datumswerte noch entsprechen formatieren sollte, damit da nicht die 45.000er Werte stehen.
AW: ListBox in VISIO mit Datein aus EXCEL-Tabellenblatt füllen
12.09.2024 22:20:30
Rob_E
OK, das wär schon mal gut. Hatte heute Urlaub und morgen am Freitag, werde ich was anderes machen müssen.
Aber nächsten Montag werd ich es gleich mal ausprobieren. Vielen Dank einstweilen.
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige