Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
228to232
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
228to232
228to232
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Hyperlink problem VBA

Hyperlink problem VBA
11.03.2003 11:16:43
Thorsten
Schönen guten Morgen und grüsse aus der Pfalz,

ich habe ein problem mit einem Script, welches mir alle Worksheets meiner Arbeitsmappe in die tabelle Übersicht untereinander auflistet. Das Script lautet:

Sub Blattlist()
Dim wks As Worksheet
Dim i As Integer
Set wks = Worksheets("Übersicht")
For i = 2 To Worksheets.Count
If Worksheets(i).Name <> wks.Name Then
wks.Cells(i, 1) = Worksheets(i).Name
wks.Cells(i, 2) = Worksheets(i).Range("A1")
wks.Cells(i, 3) = Worksheets(i).Range("A2")
wks.Cells(i, 4) = Worksheets(i).Range("A3")
End If
Next i
End Sub


soweit sogut - ich möchte nur zwei zusätzliche Features einbaun, die ich nicht hinbekomme.

Zum einen soll es nur Worksheets auswählen die mit zwei bestimmten Buchstaben beginnen - also Worksheets die mit "RE" anfangen - die restlichen KV soll er übergehen und nicht auflisten.

Zum zweiten möchte ich das er auch einen direkten Hyperlink zu genau diesem Worksheet erstellt. Der Variable .name müsste also direkt auf der Übersicht in der der Blattname erscheint verlinkt werden.


ich danke schonmal im voraus für die Mühe

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Hyperlink problem VBA
11.03.2003 11:23:32
PeterA

Hallo Thorsten

zu Frage 1:

Sub Blattlist()
Dim wks As Worksheet
Dim i As Integer

Set wks = Worksheets("Übersicht")

For i = 2 To Worksheets.Count
If Worksheets(i).Name <> wks.Name and LEFT(Worksheets(i).name,2) = "RE" Then
wks.Cells(i, 1) = Worksheets(i).Name
wks.Cells(i, 2) = Worksheets(i).Range("A1")
wks.Cells(i, 3) = Worksheets(i).Range("A2")
wks.Cells(i, 4) = Worksheets(i).Range("A3")
End If
Next i

End Sub


zu Frage 2:

Erstelle mal eine Hyperlink und lass den Makrorekorder mitlaufen. Danach kannst du dir den Code ansehen und umschreiben.

Falls du noch fragen hast melde dich nochmal


Ciao Peter

Anzeige
Re: Hyperlink problem VBA
11.03.2003 11:29:31
gordon

Hallo Thorsten,

prinzipielles Vorgehen:

If Worksheets(i).Name <> wks.Name Then erweitern um
Abfrage auf Instr(1,wks.Name,"RE",vbTextCompare)=1
Baue
wks.Hyperlinks.Add(worksheets(i).name & "!A1")
ein

Gruß
gordon

Re: Hyperlink problem VBA
11.03.2003 11:43:49
Thorsten

Vielen Dank für die schnelle Hilfe.

Leider klappt es noch nicht ganz.

Problem 1 ist das er jetzt zwar die Tabellenblätter die nihct mit RE anfangen übergeht - er setzt die folgende Rechnung aber nicht in die folgende Zeile, sondern lässt lauter leerzeilen indenen vorher die KVs und Abs drin waren.
Super wäre wenn er diese Leerzeilen weglassen würde und wirklich nur die Re´s nachfolgend pro zeile auflisten würde.

Problem 2 ist das das mit dem Hyperlink nicht funktioniert. hab schon viel mit dem Recorder versucht. da aber ja auch der text per makro generiert wird sollte auch gleich in einem wisch der Hyperlink drüber gesetzt werden. Der Hyperlink ist exakt der gleiche wie der .name


leider bin ich nihct so bewandert mit VBA

wks.Hyperlinks.Add (Worksheets(i).Name & "!A1")

ergibt nur eine fehlermeldung. Vielleicht hab ich ihn auch falsch eingebaut

zur zeit hab ich nun


Sub Blattlist2()
Dim wks As Worksheet
Dim i As Integer
Set wks = Worksheets("Übersicht")
For i = 2 To Worksheets.Count
If Worksheets(i).Name <> wks.Name And Left(Worksheets(i).Name, 2) = "Re" Then
wks.Cells(i, 1) = Worksheets(i).Name
wks.Cells(i, 2) = Worksheets(i).Range("A1")
wks.Cells(i, 3) = Worksheets(i).Range("A2")
wks.Cells(i, 4) = Worksheets(i).Range("A3")
End If
Next i
End Sub


drin, es wäre super wenn ihr den fehlenden code um die leerzeilen zu übergehen und den hyperlink direkt über den namen einbaun könntet.

nochmal tausend dank

Anzeige
Re: Hyperlink problem VBA
11.03.2003 13:04:50
PetreA

Hallo Thorsten

zu 1:
Du musst noch einen Zähler einbauen der nur hochgezält wird, wenn in eine Zeile geschrieben wird.

Zähler = 2
For i = 2 To Worksheets.Count
If Worksheets(i).Name <> wks.Name And Left(Worksheets(i).Name, 2) = "Re" Then
wks.Cells(Zähler, 1) = Worksheets(i).Name
wks.Cells(Zähler, 2) = Worksheets(i).Range("A1")
wks.Cells(Zähler, 3) = Worksheets(i).Range("A2")
wks.Cells(Zähler, 4) = Worksheets(i).Range("A3")
Zähler = Zähler + 1
End If

zu 2.

ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:="", SubAddress:= "Tabelle1!A1", TextToDisplay:="frgljhfdgölkjfds"

TextToDisplay = Der Text in der Zelle
SubAddress = Dein Tabellenname + eine Zellenangabe
Das könnte man so zusammenstöpseln wie du es schon gemacht hast

Ciao Peter



Anzeige
Re: Hyperlink problem VBA
11.03.2003 13:19:25
gordon

Hallo Peter,

Gruß
gordon


Re: Hyperlink problem VBA
11.03.2003 13:45:00
Thorsten

Merci für den tipp, aber irgendwie löst da smein problem nicht

zum einen generiert er immer noch leerzeilen, trotz dieser schleife.

das mit den hyperlinks muss irgendwie anders werden. ich muss doch die variablen .name einbaun.

hier kann nix festes eingetragen werden:

ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:="", SubAddress:= "Tabelle1!A1", TextToDisplay:="frgljhfdgölkjfds"

sondern die schon fertige variable .name

die generierung ohne hyperlink klappt ja - es muss lediglich diese variable bei subadress und wider bei texttodisplay eingetragen werden. allerdings hab ich keine ahnung wie die zeile lauten muss subadress:=".name" funktioniert nicht


danke nochmal. das problem mit den leerzeilen wäre am wichtigsten

Anzeige
Re: Hyperlink problem VBA
11.03.2003 14:01:11
Thorsten

ahh danke - dieses script hilft mir enorm weiter.

hyperlink geht und die zeilensprünge auch.

das einzige was nihct geht ist der link wenn ein leerzeichen drin ist - dann schriebt er falscher link.

vielleicht geht das auch noch. :)

danke euch

Re: Hyperlink problem VBA
11.03.2003 14:07:21
gordon

wie gut, dass Du kaum Ansprüche hast ... ;-)


wks.Hyperlinks.Add Anchor:=wks.Cells(i, 5), Address:="", SubAddress:= _
"'" & ws.Name & "'!A1"

Gruß
gordon

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige