Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
868to872
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
868to872
868to872
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Ungewünschter Eintrag bei Hyperlink Erstellung

Ungewünschter Eintrag bei Hyperlink Erstellung
21.05.2007 09:30:00
Mark
Hallo zusammen!
Ich hab mal wieder ein winziges Problem mit einem Makro, Herber-Mitglied mpb war so freundlich und hat mir schon ein wenig weitergeholfen, aber ich hab da noch ne Frage. Erst mal mein Makro:

Sub BlattdatenAktualisieren(BlattName As String, Zeile1 As Integer)
'Daten aus den anderen Tabellenblättern werden als Liste im Blatt eingetragen
Dim wksQuelle As Worksheet, wksZiel As Worksheet
Dim Zeile As Long, Spalte As Integer
Set wksZiel = ThisWorkbook.Worksheets(BlattName)
Application.ScreenUpdating = False
With wksZiel
'Alte Daten in der Liste löschen
If .Cells.SpecialCells(xlCellTypeLastCell).Row >= Zeile1 Then
.Range(.Cells(Zeile1, 1), .Cells.SpecialCells(xlCellTypeLastCell)).ClearContents
End If
'Tabellenblätter auslesen
Zeile = Zeile1
For Each wksQuelle In ThisWorkbook.Worksheets
If wksQuelle.Name  wksZiel.Name Then
'Werte aus den  Zellen übertragen
.Cells(Zeile, 1).Value = wksQuelle.Range("E4").Value 'Name des Tabellenblattes
.Hyperlinks.Add Anchor:=.Cells(Zeile, 1), Address:="", SubAddress:=.Cells(Zeile, 1) &"!A1" _
.Cells(Zeile, 2).Value = wksQuelle.Range("E5").Value 'Info 1
.Cells(Zeile, 3).Value = wksQuelle.Range("E6").Value 'Info 2
.Cells(Zeile, 4).Value = wksQuelle.Range("I33").Value 'Info 3
.Cells(Zeile, 7).Value = wksQuelle.Range("M11").Value 'Info 4
.Cells(Zeile, 8).Value = wksQuelle.Range("Q20").Value 'Info 5
Zeile = Zeile + 1
End If
Next wksQuelle
'Datensortieren nach Spalte 1 und 2
.Range(.Cells(Zeile1, 1), .Cells.SpecialCells(xlCellTypeLastCell)).Sort _
Key1:=.Cells(Zeile1, 1), Order1:=xlAscending, Key2:=.Cells(Zeile1, 2), _
Order2:=xlAscending, Header:=xlNo
End With
Application.ScreenUpdating = True
End Sub


Meine Excel-Arbeitsmappe besteht aus 2 Tabellenblättern, das erste Tabellenblatt ist eine Übersicht über den bestimmte Zellinhalte (siehe Makro) des zweiten Tabellenblattes. Dieses kann beliebig oft kopiert werden und mit neuem Inhalt befühlt werden. Also so eine Art Karteikartensystem mit sich automatisch generierender Übersichtstabelle.
Der Wert, der aus der Zelle E4 ausgelesen wird ist der Name des angelegten Tabellenblattes. Er wird automatisch zu einem Hyperlink konvertiert. Ich klicke also in der Übersicht auf den Eintrag aus der Zelle E4 (Tabellenblattname) und lande sofort auf dem entsprechenden Tabellenblatt.
Ich hab jetzt nur noch einen Schönheitsfehler, es wird in meiner Übersicht immer zusätzlich zu den ganzen perfekt funktionierenden Hyperlinks automatisch der Wert !A1 erzeugt. Ein Klick darauf erzeugt die Meldung "Bezug ungültig!".
Hat jemand eine Idee, wie ich es verhindern kann, dass dieser Eintrag erzeugt wird!
Wie immer an dieser Stelle vielen Dank an Alle, die sich die Mühe gamcht haben meinen Roman zu lesen und evtl. auch ncoh eine Lösung parat haben!
MfG
Mark

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Ungewünschter Eintrag bei Hyperlink Erstellung
21.05.2007 21:07:41
fcs
Hallo Mark,
ich hab deinen Code gerade einmal unter Excel97 probiert. Das Problem mit dem "!A1" taucht bei mir nur auf, wenn die Zelle E4 leer ist. Dann wird logischer Weise auch der Hyperlink nicht korrekt generiert und die Fehlermeldung kommt.
Dieses Problem wird vermieden, wenn du den Blattnamen nicht aus der Zelle sondern vom Tabellenobjekt direkt holst.
Andere folgenden Zeilen:

.Cells(Zeile, 1).Value = wksQuelle.Name 'Name des Tabellenblattes
.Hyperlinks.Add Anchor:=.Cells(Zeile, 1), Address:="", SubAddress:="'" & _
.Cells(Zeile, 1) & "'!A1"

Die 2. Zeille solltest du anpassen, damit der Hyperlink auch bei Blattnamen mit Sonderzeichen funktioniert (z.B. Leerzeichen).
Da Microsoft an dem Hyperlink-Objekt immer wieder Ergänzungen von Version zu Version eingebaut hat kann es auch sein, dass da noch woanders der Wurm drin ist. Da es bei mir mit der 97er-Versio funktioniert ist das aber eher unwahrscheinlich.
Gruß
Franz

Anzeige
AW: Ungewünschter Eintrag bei Hyperlink Erstellung
22.05.2007 15:52:00
Mark
Hallo franz, vielen Dank für Deinen Tip!
Auf die lösung mit der leeren zelle währe ich nie gekommen!
Funktioniert alles prima!
MfG
Mark

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige