Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  Excel
  VBA: Hyperlink zu Prozedur

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
Autor Thema:  VBA: Hyperlink zu Prozedur (3281 mal gelesen)
Lutz Federbusch
Ehrenmitglied V.I.P. h.c.
Dipl.-Ing. Maschinenbau



Sehen Sie sich das Profil von Lutz Federbusch an!   Senden Sie eine Private Message an Lutz Federbusch  Schreiben Sie einen Gästebucheintrag für Lutz Federbusch

Beiträge: 3093
Registriert: 03.12.2001

alle SW seit 97+
AutoCAD2000
ERP ProAlpha + CA-Link
Intel Core i7 860 16GB
Win7x64 QuadroFX1800
SpacePilot

erstellt am: 21. Jan. 2008 11:20    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Excelfreunde!
Ich möchte gern über einen Hyperlink eine Prozedur in meinem Code anspringen.
Zu Zellen, externen Dateien oder in eine E-Mail springen ist mir schon gelungen, aber das nicht. Gibt es da eine bestimmte Schreibweise dafür? Das geht doch bestimmt!
Oder muß ich mit dem Hyperlink eine Makrodatei starten, die den gewünschten Code ausführt?!

------------------
Lutz Federbusch
Mein Gästebuch
Der Mensch, Herr oder Sklave der Technik?

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Nepumuk
Mitglied
Entwicklungsleiter


Sehen Sie sich das Profil von Nepumuk an!   Senden Sie eine Private Message an Nepumuk  Schreiben Sie einen Gästebucheintrag für Nepumuk

Beiträge: 351
Registriert: 16.10.2004

erstellt am: 21. Jan. 2008 12:32    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Lutz Federbusch 10 Unities + Antwort hilfreich

Hallo Lutz,

einfach den Hyperlink so angeben: #Makroname

------------------
Gruß
Nepumuk 

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Lutz Federbusch
Ehrenmitglied V.I.P. h.c.
Dipl.-Ing. Maschinenbau



Sehen Sie sich das Profil von Lutz Federbusch an!   Senden Sie eine Private Message an Lutz Federbusch  Schreiben Sie einen Gästebucheintrag für Lutz Federbusch

Beiträge: 3093
Registriert: 03.12.2001

alle SW seit 97+
AutoCAD2000
ERP ProAlpha + CA-Link
Intel Core i7 860 16GB
Win7x64 QuadroFX1800
SpacePilot

erstellt am: 21. Jan. 2008 13:17    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Nepumuk!
Also diese Funktionalität kannte ich auch noch nicht!    Jetzt springt es mir durch Betätigung des Hyperlinks in den Code der gewünschten Prozedur, so daß ich den Quelltext sehe. Diese sollte aber ausgeführt werden  
Hab ich vielleicht nicht genau gesagt

------------------
Lutz Federbusch
Mein Gästebuch
Der Mensch, Herr oder Sklave der Technik?

[Diese Nachricht wurde von Lutz Federbusch am 21. Jan. 2008 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Nepumuk
Mitglied
Entwicklungsleiter


Sehen Sie sich das Profil von Nepumuk an!   Senden Sie eine Private Message an Nepumuk  Schreiben Sie einen Gästebucheintrag für Nepumuk

Beiträge: 351
Registriert: 16.10.2004

erstellt am: 21. Jan. 2008 13:27    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Lutz Federbusch 10 Unities + Antwort hilfreich

Hallo Lutz,

wozu dann einen Hyperlink? Erstell dir doch einfach einen Button zum anklicken. Makro starten per Hyperlink geht nicht.

------------------
Gruß
Nepumuk 

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Lutz Federbusch
Ehrenmitglied V.I.P. h.c.
Dipl.-Ing. Maschinenbau



Sehen Sie sich das Profil von Lutz Federbusch an!   Senden Sie eine Private Message an Lutz Federbusch  Schreiben Sie einen Gästebucheintrag für Lutz Federbusch

Beiträge: 3093
Registriert: 03.12.2001

alle SW seit 97+
AutoCAD2000
ERP ProAlpha + CA-Link
Intel Core i7 860 16GB
Win7x64 QuadroFX1800
SpacePilot

erstellt am: 21. Jan. 2008 13:31    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Erstmal Danke!
Das Blatt und die Hyperlinks drauf erstelle ich erst mitten im Makro. Na gut, erstelle ich eben statt der Hyperlinks mal (mehrere) Befehlsknöpfe, mal sehen, ob die dann alle die gleiche Prozedur in ihrer aktuellen Zeile ausführen wollen...

------------------
Lutz Federbusch
Mein Gästebuch
Der Mensch, Herr oder Sklave der Technik?

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Lutz Federbusch
Ehrenmitglied V.I.P. h.c.
Dipl.-Ing. Maschinenbau



Sehen Sie sich das Profil von Lutz Federbusch an!   Senden Sie eine Private Message an Lutz Federbusch  Schreiben Sie einen Gästebucheintrag für Lutz Federbusch

Beiträge: 3093
Registriert: 03.12.2001

erstellt am: 21. Jan. 2008 16:16    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Das klappt so leider nicht; die Knöpfe werden zwar erstellt, aber sie haben noch keinen Code hinterlegt und ich weiß nicht, wie ich ihnen einen Unterschieben kann. Sie sollen eigentlich alle nur dieselbe Routine ausführen, wenn sie angeklickt werden. Für die Zeilennummer habe ich eine mitlaufende Variable, sodaß ich die Routine in der richtigen Zeile dann ausführen könnte. Ideen?
Das Anspringen einer Zelle mittels Hyperlink würde ja auch gehen - könnte ich einer Zelle sagen, daß sie, wenn ausgewählt/angesprungen, eine Routine ausführt?!

------------------
Lutz Federbusch
Mein Gästebuch
Der Mensch, Herr oder Sklave der Technik?

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Paulchen
Mitglied
Bauing./SW-Entwickler


Sehen Sie sich das Profil von Paulchen an!   Senden Sie eine Private Message an Paulchen  Schreiben Sie einen Gästebucheintrag für Paulchen

Beiträge: 1227
Registriert: 19.08.2004

Büro: Win10 Enterprise 64bit, Office Professional Plus 2013 - Privat: Linux Mint 15, LibreOffice

erstellt am: 21. Jan. 2008 16:35    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Lutz Federbusch 10 Unities + Antwort hilfreich

Hallo Lutz,

'ne Schnapsidee: In der VBA-Umgebung Tabelle auswählen - linke Dropdown-Liste: Worksheet, rechts: SelectionChange, wie in diesem Beitrag?

Frederik

------------------
DIN1055.de  |  Lastannahmen für Anwender

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Lutz Federbusch
Ehrenmitglied V.I.P. h.c.
Dipl.-Ing. Maschinenbau



Sehen Sie sich das Profil von Lutz Federbusch an!   Senden Sie eine Private Message an Lutz Federbusch  Schreiben Sie einen Gästebucheintrag für Lutz Federbusch

Beiträge: 3093
Registriert: 03.12.2001

erstellt am: 22. Jan. 2008 09:16    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Naja, die Zelle ändert sich ja nicht.
Der Anwender soll eben in jeder Zeile einen Hyperlink/Befehlsknopf haben und nur wenn er den anklickt, sollen auf einem anderen Blatt Angaben hinzugefügt werden, von welcher Zeile er da etwas angeklickt hatte. Es erstaunt mich, daß sich Excel hier so doof anstellt!

------------------
Lutz Federbusch
Mein Gästebuch
Der Mensch, Herr oder Sklave der Technik?

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

carsten-3m
Mitglied
Dipl.-Ing. Mbau (Produktmanagement, Patent- und Normwesen)


Sehen Sie sich das Profil von carsten-3m an!   Senden Sie eine Private Message an carsten-3m  Schreiben Sie einen Gästebucheintrag für carsten-3m

Beiträge: 950
Registriert: 08.05.2007

Excel 2010

erstellt am: 22. Jan. 2008 10:31    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Lutz Federbusch 10 Unities + Antwort hilfreich

Ich verwende selbst eine Kostenübersicht aus der durch Druck auf einen einzigen Knopf auf eine Sicht der Detailkosten gesprungen werden kann. Hierbei wird ganz einfach die Cursoradresse ausgewertet, so dass das Makro weiß, wo der Anwender herkommt.

Code:
cursor = ActiveCell.Address
zeile = Mid$(cursor, 4)

------------------
Seit Pro/E Version 1 dabei, auwei...

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Lutz Federbusch
Ehrenmitglied V.I.P. h.c.
Dipl.-Ing. Maschinenbau



Sehen Sie sich das Profil von Lutz Federbusch an!   Senden Sie eine Private Message an Lutz Federbusch  Schreiben Sie einen Gästebucheintrag für Lutz Federbusch

Beiträge: 3093
Registriert: 03.12.2001

erstellt am: 22. Jan. 2008 10:50    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Wenn ich auf einen Knopf klicke, weiß ich doch, daß ich auf dem Knopf bin Das Problem von den Knöpfen, die zur Makrolaufzeit auf einem neu erstellten Blatt angelegt werden ist doch aber, daß es noch keine Routine für den Knopf gibt. Also auch keine Stelle, in der ich die Mausposition auswerten kann. Ansonsten bräuchte ich auch den Knopf nicht. Nur daß dann niemand weiß, wie er das Hinzufügen zum anderen Blatt anschieben soll...

------------------
Lutz Federbusch
Mein Gästebuch
Der Mensch, Herr oder Sklave der Technik?

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

carsten-3m
Mitglied
Dipl.-Ing. Mbau (Produktmanagement, Patent- und Normwesen)


Sehen Sie sich das Profil von carsten-3m an!   Senden Sie eine Private Message an carsten-3m  Schreiben Sie einen Gästebucheintrag für carsten-3m

Beiträge: 950
Registriert: 08.05.2007

Excel 2010

erstellt am: 22. Jan. 2008 11:11    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Lutz Federbusch 10 Unities + Antwort hilfreich

Lutz, nix für ungut, wir helfen alle gern hier, aber das ist ja das reinste Ratespiel mit Deinen kleckerweise kommenden Anforderungen. Versuch doch mal bitte, die zu lösende Aufgabenstellung halbwegs vollständig darzulegen, dann findet sich bestimmt auch ein brauchbarer Lösungsansatz.

------------------
Seit Pro/E Version 1 dabei, auwei...

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Lutz Federbusch
Ehrenmitglied V.I.P. h.c.
Dipl.-Ing. Maschinenbau



Sehen Sie sich das Profil von Lutz Federbusch an!   Senden Sie eine Private Message an Lutz Federbusch  Schreiben Sie einen Gästebucheintrag für Lutz Federbusch

Beiträge: 3093
Registriert: 03.12.2001

erstellt am: 22. Jan. 2008 12:26    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Also nochmal gaaaanz ruhig:

Ich habe auf einem Tabellenblatt eine Liste mit etlichen Zeilen.
Wieviele weiß erstmal nicht, denn das wird auch mit Makro befüllt.
Und kann morgen anders aussehen.
Darin sind Teile mit ein paar Namen und Angaben dazu aufgelistet.
Auf diesem Tabellenblatt ist ein Kommandoknopf, der bei Betätigung
im Hintergrund ein neues Blatt erzeugt und hinter jedem Eintrag der
ersten Liste einen Hyperlink oder Kommandoknopf hinzufügen soll, mit
dem man nun bei Anklicken das Teil der Liste mit seinen Angaben, die
auch in der Zeile mit stehen auf das im Hintergrund erzeugte Blatt
schreiben kann (für Ersatzteilbestellung)...
Ich hoffe, nun ists verständlich, was ich will. Das muß doch gehen!
Mit Hyperlingen kann ich scheinbar keine Makroroutinen anspringen
und Befehlsknöpfe kann ich zwar auch im Makro zur Laufzeit erzeugen,
allerdings nicht festlegen, wie der Code dazu ist?! Ist auch ein wenig
sinnfrei. Aber irgendwas zum Anklicken hätte ich da eben gerne

------------------
Lutz Federbusch
Mein Gästebuch
Der Mensch, Herr oder Sklave der Technik?

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

carsten-3m
Mitglied
Dipl.-Ing. Mbau (Produktmanagement, Patent- und Normwesen)


Sehen Sie sich das Profil von carsten-3m an!   Senden Sie eine Private Message an carsten-3m  Schreiben Sie einen Gästebucheintrag für carsten-3m

Beiträge: 950
Registriert: 08.05.2007

Excel 2010

erstellt am: 22. Jan. 2008 17:19    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Lutz Federbusch 10 Unities + Antwort hilfreich

Gut, hab ich soweit einigermaßen verstanden. Und... auch bereits einen Lösungsansatz dazu oben angedeutet. Ich werde diesen mal näher erläutern.

Deine sich täglich ändernde Tabellenliste enthält (so würde ich vorschlagen) zumindest einen sich nicht ändernden Kopfbereich, in dem meines Erachtens nach max. zwei Knöpfe angeordnet sein sollten.

Der erste Knopf (benannt z. B. mit INIT) startet einen VBA-Programmteil, der im Hintergrund ein neues Blatt und was auch immer noch erzeugt, ganz nach Deinen Vorstellungen. Meinetwegen markiert er die Listeneinträge auch irgendwie, um kenntlich zu machen, dass der Vorgang (INIT) abgeschlossen wurde.

Der zweite Knopf (benannt z. B. mit ERSATZTEIL) prüft nun - wie oben angedeutet - wo der Cursor aktuell steht (nämlich irgendwo in der Zeile, dessen Inhalt in das zweite Blatt kopiert werden soll) und tut eben genau das, er kopiert den oder die Zellinhalte ganz wie erforderlich.

Der Vorteil meines Vorschlags liegt wohl darin, dass der sich häufig ändernde Listenteil des ersten Blatts nicht per Programm mit Knöpfen versehen werden muss, sondern einzig die Cursorposition detektiert wird, um herauszufinden, welche Zeile kopiert werden soll.

Das ganze ließe sich sogar mit nur einem Knopf und nur einem Makro abhandeln. Dazu prüft das Makro zu anfangs, ob es das zweite Blatt bereits erstellt hat. Wenn nicht, wird's halt erstellt, wenn bereits vorhanden, wird die zweite Operation (Cursorzeile detektieren, Zeile kopieren) angestoßen.

Probiers mal aus und sag an wo's klemmt. Viel Erfolg!

------------------
Seit Pro/E Version 1 dabei, auwei...

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Lutz Federbusch
Ehrenmitglied V.I.P. h.c.
Dipl.-Ing. Maschinenbau



Sehen Sie sich das Profil von Lutz Federbusch an!   Senden Sie eine Private Message an Lutz Federbusch  Schreiben Sie einen Gästebucheintrag für Lutz Federbusch

Beiträge: 3093
Registriert: 03.12.2001

erstellt am: 22. Jan. 2008 18:08    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Vielen Dank! So würde es gehen. So will ich es aber nicht, da zum Hinzufügen eben etwas zum Anklicken da sein soll.
   
Jetzt habe ich gerade eine Lösung gefunden, die funktioniert.
Kommt mir zwar unelegant vor, aber geht immerhin. 
Dazu erstelle ich auf meinem Blatt in jeder Zeile einen Hyperlink,
der auf eine Excel-Datei verweist. Diese Exceldatei ist leer und hat aber ein Makro ("Private Sub Workbook_Open"), das beim Laden der Datei automatisch ausgeführt wird. Dieses Makro führt nun endlich die gewünschte Routine (da die Zelle, deren Hyperlink geklickt wurde noch aktiv ist, weiß ich auch, aus welcher Zeile der Klick kam) aus (allerdings ist nun der Dateiname festverdrahtet, mal sehen, ob ich das noch wegbekomme), dann aktiviert es mein urprüngliches Tabellenblatt und schließt die gerade geöffnete Datei wieder. 
Schöner wäre es, wenn das alles in derselben Datei ginge. Die Sicherheitsabfrage zum Aktivieren der Makros stört und daß es eben nun zwei Dateien sind, die weitergegeben werden müssen.
------------------
Lutz Federbusch
Mein Gästebuch
Der Mensch, Herr oder Sklave der Technik?

[Diese Nachricht wurde von Lutz Federbusch am 24. Jan. 2008 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz