Forum: Programmieren allgemein
by Jumpy,
4. Jul 2014
Das mit den Leerzeichen zumindest (Sonderzeichen nicht getestet) müsste doch mit Quoted-String gehen:
Obiges Beispiel angepasst, Name des Sheets sei "Willi Bald 123":
var HyperlinkTarget : String;
HyperlinkText : String;
// für excel.sheets.cells:
HyperlinkTarget:=QuotedStr(excel.sheets.name)+'!B2'
Forum: Programmieren allgemein
by Jumpy,
4. Jul 2014
OK, verstehe was du meinst. Du willst einen Link z.B. auf Sheet 2, dass aber irgendwie heißt und nicht Tabelle2.
Dafür kannst du doch einfach sagen
var HyperlinkTarget : String;
HyperlinkText : String;
// für excel.sheets.cells:
HyperlinkTarget:=excel.sheets.name & '!B2'
HyperlinkText:='Hier geht's weiter'
Forum: Programmieren allgemein
by Jumpy,
3. Jul 2014
Kannst du mMn nicht verhindern und hast du auch, wenn du einen Hyperlink von Hand anlegst. Im Gegensatz zu Excel-Zellen und -Formeln die diese Bezüge bei Veränderungen anpassen scheint mir das bei den Hyperlinks fix zu sein.
Forum: Programmieren allgemein
by Jumpy,
2. Jul 2014
Ich hab das mal direkt in Excel getestet, Makrorekorder ist schon was feines:
ActiveSheet.Hyperlinks.Add ActiveSheet.Cells(5, 5), "", "Tabelle1!B6", , "Test"
Umgemünzt auf dein Szenario ungefähr so, wobei man die Adresse des Ziels scheinbar als String braucht, d.h. das müsstest du ggf. ermitteln, ich habs mal fix mit Zelle B2 auf Sheet Tabelle2 angenommen:
...