Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1480to1484
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
Inhaltsverzeichnis

Mehrdeutiger Name

Mehrdeutiger Name
20.03.2016 22:06:03
Helmut
Hallo,
ich wollte aus einem Tutorial ein Makro kopieren:
Dim Zwischenablage As DataObject

Sub TextEinfügen()            '19.03.2016 Testvariante mit anderer Datenquelle
Dim Text As String
Dim Data(10)
Dim intI As Integer
'Dataliste erstellen
For intI = 1 To 10
Data(intI) = intI * 7
Next intI
Text = ""
For intI = 1 To 10
Text = Text & " " & Data(intI) & " "
Next
Set Zwischenablage = New DataObject
Text = Tabelle5.Range("A1").Value
With Zwischenablage
.SetText Text
.PutInClipboard
End With
Set Zwischenablage = Nothing
End Sub

Im Original kann ich das Makro modifizieren, alles OK. Wemnn ich es in meine Anwendung einbinde und starte wir die "Zwischenablage" als Dataobjekt nicht akzeptiert mit der Fehlermeldung "Mehrdeutiger Name". Wie kann ich die Mehrdeutigkeit verstehen und abstellen?
Ich würde mich über jede Antwort freuen.
Gruß Helmut

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Es ist zu vermuten, dass 'Zwischenablage' ...
20.03.2016 23:08:53
Luc:-?
…mehrfach als GlobalVariable deklariert wird, Helmut.
Das darf nur in einem Modul eines VBA-Projektes geschehen!
Gruß, Luc :-?
Besser informiert mit …

AW: Es ist zu vermuten, dass 'Zwischenablage' ...
21.03.2016 14:10:15
Steve
Hallo Helmut,
das beste wäre du würdest uns nicht die hälfte der Fehlermeldung unterschlagen. Was steht denn nach dem Doppelpunkt?
"Mehrdeutiger Name: Zwischenablage" weist ganz klar darauf hin dass deine Variable "Zwischenablage" mehrere Male im gleichen Modul und/oder Makro definiert wurde.
"Mehrdeutiger Name: Texteinfügen" bedeutet ganz klar, dass du den selben Namen für zwei unterschiedliche Makros benutzt hast. Das führt nicht immer zu einem Fehler, wie du selbst schon bemerkt hast werden zunächst Pfade vorangestellt (z.B. Modul1.Texteinfügen / Tabelle1.Texteinfügen). Im selben Modul liegende Makros dürfen jedoch nicht die gleichen Namen tragen.
Beide Varianten führen dazu dass die Anwendung nicht weis welche Variable/welches Makro es hernehmen soll.
Falls etwas gänzlich anderes nach dem Doppelpunkt steht, würde ich dich bitten dies uns mitzuteilen.
lg Steve

Anzeige
AW: Es ist zu vermuten, dass 'Zwischenablage' ...
21.03.2016 19:11:41
Helmut
Danke für Deine Bemühungen,
der Hinweis 'Mehrdeutiger Name' ist die Überschrift des Hilfetextes, den ich bedauerlicherweise nicht voll verstehe. Beim Start des Subs kommt der Hinweis: 'Benutzerdefinierter Typ nicht definiert'. Das gesamte Programm besteht nur aus dem einen Modul mit dem einen Makro, der in der Makroliste erscheint mit dem Namen: 'MiniTest.xlsm!Modul1.TextEinfügen'. Das sollte eine irgendwie geartete Doppelbelegung ausschließen.
Gruß Helmut

AW: Es ist zu vermuten, dass 'Zwischenablage' ...
21.03.2016 19:56:28
fcs
Hallo Helmut,
du musst im VBA-Editor für die Datei mit dem Makro zusätzlich via Extras --&gt Verweise... einen Verweis setzen, damit die Deklaration der Variablen als DataObject funktioniert.
Im Bild den blau markierten.
Userbild
Gruß
Franz

Anzeige
AW: Es ist zu vermuten, dass 'Zwischenablage' ...
22.03.2016 14:54:34
Helmut
Ich danke Dir, das war der entscheidende Schritt! Es hat alles funktioniert.
Trotzdem eine Frage, woher weiß ich, welche Dateien ich einbimden müß?
Viele Grüße
Helmut

AW: VBA-Editor Verweise
23.03.2016 12:26:21
fcs
Hallo Helmut,
alles was Excel für die Standardfunktionen an Verweisen für die VBA-Funktionen benötigt wird eigentlich automatisch gesetzt.
Das sind in meiner hochgeladenen Grafik die ersten vier Elemente.
Die "Microsoft Forms x.y Object Library" kommt automatisch dazu, wenn man in der Datei Active-X-Steuerelemente in einem Tabellenblatt einfügt oder ein Userform anlegt.
Probleme gibt es gelegentlich, wenn man Dateien zwischen Verschiedenen Excelversionen oder auch Versionen des Betriebssystems hin- und herschiebt. Dann muss man ggf. die Verweise manuell neu setzen.
Alle weiteren Verweise muss man dann selbst je nach Bedarf selbst setzen.
Dabei ist innerhalb von Excel die Library
     Microsoft Visual basic for Application Extensibility 5.3

interessant. Diese ermöglicht z.B. den Zugriff auf das VBA-Project.
Auch wenn man AddInns unter VBA-programmieren/nutzen möchte ist es ggf. erforderlich einen Verweis zu setzen.
Dies gilt zum Beispiel für den Solver.
Ansonsten kommen die Verweise ins Spiel, wenn man von Excel per VBA auf andere Anwendungen zugreifen möchte und dabei das sogenannte Early-Binding nutzen will.
Hier stellen die aktivierten Verweise dann die Methoden und Eigenschaften für die entsprechenden Objekte in der externen Anwendung zur Verfügung.
Gruß
Franz

Anzeige
AW: Mehrdeutiger Name
21.03.2016 11:49:20
Helmut
Leider trifft Deine Annahme nicht zu. Derzeit (als Test) besteht mein Programm nur aus dem dem Teil des Tutorial, das im Tutorial als Kapitel1.xlsm deklariert ist.
Interessant ist, dass in der Makroliste die Makros nur mit Namen (z.B. TextEinbinden) aufgelistet sind. Dies gilt für alle Excel-programme die ich betrachtet habe.
Falls ich in meinem Extrakt ohne 'Dim Zwischenablage As DataObject' die Makros (in der Liste) anschaue, verhalten sie sich so wie bereits erwähnt.
Füge ich aber 'Dim Zwischenablage As DataObject' einfüge, erweitern sich meine Makros so, das eine Pfadangabe vorgestellt wird.
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige