Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
816to820
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
816to820
816to820
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Hyperlinks per vba einfügen

Hyperlinks per vba einfügen
06.11.2006 13:30:06
Lueckii
Hallo zusammen!
Ich hab folgendes Problem: Ich generiere auf Knopfdruck einen neuen Commandbutton und ein Neues Worksheet, daß gleich heißt wie selbiger. Nun soll auch automatisch ein Hyperlink vom generierten CommandButton zum dazugehörigen Tabellenblatt erstellt werden. Klingt eigentlich nicht so schwer. Müßte man ja über
Kunde = Maier
With Worksheets("Tabelle1")
.Hypelink.Add Anchor:=OLEObject(Kunde), Address:= "",SubAdress:= Kunde
End With
machen. Allerdings kommt hier immer ne Fehlermeldung, daß das Objekt nicht gefunden wurde. Habe im Forum bis jetzt nichts ähnliches gefunden.
Kann man evtl. auch in den Code schreiben, daß der neue Button nen VBA-Code
Sheets(Kunde).Activate
bekommt?
Gruß Martin

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

Betreff
Datum
Anwender
Anzeige
AW: Hyperlinks per vba einfügen
06.11.2006 15:09:50
Stefan
Hallo Martin,
Ein paar Probleme zu Deinem Code:
- Soll Maier ein String sein oder eine variable die Du vorher definiert hast? Wenn nicht zweiteres, dann gehoert Meier in Anfuehrungszeichen.
- Hyperlink.Add muss Hyperlinks.Add heissen
- OLEObject(Kunde) muss OLEObjects(Kunde) heissen
Ich hab auch erhebliche Zweifel daran dass man Commandbuttons einen Link zuweisen kann, da , wuerde mich aber gerne vom Gegenteil ueberzeugen lassen.
Viele Gruesse
Stefan
AW: Hyperlinks per vba einfügen
06.11.2006 15:13:34
EtoPHG
Hallo Martin,
...Button, hyperlink, button:
Von Hinten durch die Brust ins Auge

Würde denn ein einfacher Hyperlink beim Addieren des Blattes den Zweck nicht erfüllen?
Ein Hyperlink verhält sich doch wie ein Button. Wieso also noch VBA-Code für den Button generieren? Das geht zwar, aber ich umachen tue ich's nicht gern....
Gruss Hansueli
Anzeige
AW: Hyperlinks per vba einfügen
06.11.2006 15:39:05
Lueckii
Hallo Ihr 2!
Ich möchte einfach, daß wenn man auf den neu generierten Button klickt, das richtige Tabellenblatt angezeigt wird. Kann man evtl. dem Button in den Code ne VBA Prozedur einbauen, also daß, sobald der Button generiert wird, in seinem Code ne Prozedur auftaucht?
Bei meinen jetzigen Versuchen beschränkt sich das doch irgendwie alles auf Laufzeitfehler 1004 oder 438.
Gruß Martin
AW: Hyperlinks per vba einfügen
06.11.2006 16:04:08
EtoPHG
Hallo Martin,
Zeig mal den Code, den Du für das Generieren des Button und das Addieren der Tabelle hast.
Gruss Hansueli
AW: Hyperlinks per vba einfügen
06.11.2006 16:19:42
Lueckii
Hallo Hans!
Hier der Code:
Es wird über ne Inputbox ein neuer Kunde angelegt und für diesen dann ein neues sheet sowie ein button generiert, der dann den Link(oder das Makro) zu dem zugehörigen Blatt haben sollte.
Dim Kunde As String
Dim TabName As String
Dim TabNameBut As String
Dim Jahrzelle As Range
Dim Center As String
Dim i As Long
Kunde = InputBox("Geben Sie den Namen des Kunden ein", "Neuen Kunden anlegen")
If Not Kunde = "" Then
Center = Left(Kunde, 2)
If Center = "CC" Then
Range("B50").Select
Do Until ActiveCell.Value = ""
If ActiveCell.Value "" Then ActiveCell.Offset(1, 0).Select
Loop
i = ActiveCell.Row
'neuer Kunde wird in nächste freie Zeile der Spalte B geschrieben
Range("B" & i).Value = Kunde
With ThisWorkbook.Sheets("Startseite").Range("B50:B59")
Set Jahrzelle = .Find(Kunde, LookIn:=xlFormulas, LookAt:=xlPart)
End With
TabName = Jahrzelle.Offset(0, -1).Value
Sheets("1").Select
Sheets("1").Copy Before:=Sheets("Umrechnung")
Sheets("1 (2)").Name = TabName
Sheets(TabName).Range("F6:CB26").ClearContents
VerknaendCC
With Sheets("Startseite").OLEObjects.Add(ClassType:="Forms.CommandButton.1",_
Left:=44.25, Top:=(138 + TabName * 25.5), Width:=109.5, Height:=19.5)
.Select
.Name = TabName
End With
With Sheets("Startseite").OLEObjects(TabName).Object
.Caption = Kunde
.Font.Size = 8
End With
With Sheets("Startseite")
.Hyperlinks.Add Anchor:=OLEObjects(TabName), Address:="", SubAdress:=TabName
End With
Vielleicht kennst du ja noch den einen oder anderen Trick/Kniff um das zu ermöglichen.
Gruß Martin
Anzeige
AW: Hyperlinks per vba einfügen
07.11.2006 10:29:34
EtoPHG
Hallo Martin,
Vergiss mal alles mit Button addieren und so.
Tatsache ist, dass ein Button nicht als Hyperlink fungieren kann, höchstens das Shape des Buttons, aber dann macht es eben keinen Sinn einen Button zu generieren.
Deinen Code kannst Du belassen, bis zum Punkt wo Du den Button addierst, statt den Befehl schreibst Du dann:

ActiveSheet.Range("HierDieZelleFürDenPseudoButton").Select
ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:="", SubAddress:= _
"'" & TabName & "'!A1", TextToDisplay:=Kunde
With Selection
.Font.Underline = xlUnderlineStyleNone
.Font.ColorIndex = xlAutomatic
.Borders(xlEdgeBottom).LineStyle = xlContinuous
.Borders(xlEdgeBottom).Weight = xlMedium
.Borders(xlEdgeRight).LineStyle = xlContinuous
.Borders(xlEdgeRight).Weight = xlMedium
.Interior.ColorIndex = 15
.HorizontalAlignment = xlCenter
End With

Und Du hast einen PseudoButton, der als Hyperlink fungiert in der Zelle die Du vorher bestimmt hast.
Gruss Hansueli
Anzeige
AW: Hyperlinks per vba einfügen
08.11.2006 11:14:39
Lueckii
Hallo Hans!
Danke für den Tip! Funktioniert soweit gut. Gibts dennoch die Möglichkeit, die Hyperlinks nicht nur in Zellengröße darzustellen, sondern so wie in meinem Beispiel die Lage und Größe per Vba zu generieren?
Hier mal kurz meine Datei. Einfach mal auf Kunden anlegen klicken und entweder mit "DC" oder "CC" beginnen.
So wie die Buttons dort angeordnet werden, sollten auch die Hyperlinks angeordnet werden.
https://www.herber.de/bbs/user/37966.xls
Gruß Martin

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige