Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Fehler 5, ungültiger
#1
Hallo Freunde

ich versuche mit dem Makro(unten), die Einträge (ab Zelle A2 bis ….) zur Tabelle "Data" zu verlinken und bekomme eine Fehlermeldung "5" ungültiger Prozeduraufruf oder…
An der Stelle:

    ThisWorkbook.Sheets("myNew").Hyperlinks.Add Anchor:=c, Address:="", SubAddress:=c.Value


Sub linked()
Dim m, c As Range
Set m = ThisWorkbook.Sheets("myNew").Range("A2", Range("A" & Rows.count).End(xlDown))
For Each c In m
    ThisWorkbook.Sheets("myNew").Hyperlinks.Add Anchor:=c, Address:="", SubAddress:=c.Value
Next c
End Sub

Irgendeine Idee?

Danke für die Hilfe


t
Antworten Top
#2
Hallöchen,

was steht denn in c wenn der Fehler auftritt?
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#3
EDIT: Oh, ich sehe gerade, dass Fehler 5 bei ungültigen Prozeduraufrufen kommt. Wahrscheinlich dann eher doch ein "falscher" Parameter.

EDIT2: Mir ist aber etwas anderes aufgefallen. Müsste es hier nicht xlup heißen?
Code:
Set m = ThisWorkbook.Sheets("myNew").Range("A2", Range("A" & Rows.count).End(xlDown))
Gruß
Michael
Antworten Top
#4
EDIT2: Mir ist aber etwas anderes aufgefallen. Müsste es hier nicht xlup heißen?

SUUUUUUPPPPPPPEEEER

danke das funktioniert 
Antworten Top
#5
Hallöchen,

ja, genau, aber vor allem liegt es daran, dass in c nix steht Sad Ansonsten hätte es funktioniert, nur vielleicht nicht dort, wo es erwartet wird Smile Dass das möglicherweise die falsche Zelle ist, wäre eventuell ein Gedanke, der beim Überprüfen von c kommen könnte Smile

Mal für später / weitere Programmierung: Ein anderer Punkt fällt hier nicht ins Gewicht, wenn die Datei nur ein Blatt hat bzw. man beim Ausführen auf dem entsprechenden Blatt mySheet ist und bleibt Smile Wenn nicht, kommt auch in dieser Zeile ein Fehler -

Das
ThisWorkbook.Sheets("myNew").Range("A2", Range("A" & Rows.count).End(xlDown))

könnte man so umsetzen
ThisWorkbook.Sheets("myNew").Range("A2", ThisWorkbook.Sheets("myNew").Range("A" & Rows.count).End(xlDown))

oder so
With ThisWorkbook.Sheets("myNew")
.Range("A2", .Range("A" & Rows.count).End(xlDown))
End With
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#6
Danke dir für den guten Hinweis. Thumps_up Thumps_up

… ich würde ein neues Thema zur "drop down list" mit dynamischen Einträgen erstellen. Den Code habe ich von EN Excel-Forum gefunden (als URL), was sehr hilfreich ist. 

Jedoch:

-Setzt man ihn in einer neuen Excel Dateien, funktioniert die Tabelle einwandfrei.

-Setzt man ihn in einer Excel-Datei mit unterschiedlichen vba reference, scheint zwar zu funktionieren; man kann die Tabelle speichern.
Versucht man die Datei wieder zu öffnen, kommt zur Fehlermeldung und Excel(2019) will die Datei reparieren.

Mehr dazu später.
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste