Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1388to1392
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
Inhaltsverzeichnis

Mehrere Funktionen auf einen Butten legen

Mehrere Funktionen auf einen Butten legen
10.11.2014 15:24:19
mike
Hallo Forum,
vielleicht kann mir jemand helfen...
Ich versuche, folgende Funktionen, die ich derzeit einzeln als Formel und Anweisung schon kapiert habe, auf einen Button zu legen. Zuerst mal die Struktur:
A1 = Auftragsnummer; A2 = Seriennummer; A3 = Hyperlink (hidden); A4 = Button
Struktur des Hyperlinks ist:
Link ins Intranet, über den ein Auftrag aufgerufen wird. Der Link geht bis zu einem "=".
Der Button soll nun folgendes machen:
• Verketten von A3 mit A1, so dass sich daraus ein kompletter Link ergibt. Aktuell gelöst über: =HYPERLINK(VERKETTEN("http://link/installation.aspx?anfId=";A3))
• Auslösen dieses Hyperlinks und damit öffnen eines Browserfensters (funktioniert momentan über Hyperlink im Klartext)
• Kopieren des Inhaltes von A2 in die Zwischenablage
So - wie bring ich das jetzt alles in dem Button unter? Das Ganze muss ca 50 x wiederholt werden, da es so viele Eingaben gibt.
Bin für jede Hilfe dankbar!
Viele Grüße - Mike

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Mehrere Funktionen auf einen Butten legen
10.11.2014 16:22:13
fcs
Hallo Mike,
im Prinzip wie folgt.
Allerdings ist nicht klar wie die 50 Wiederholungen abgewickelt werden sollen.
Wenn in 50 Spalten nebeneinander dann kann man die 1. Schaltfläche in jede der 50 Spalten kopieren.
Auf Basis der Position der aufrufenden Schaltfläche wird die Spalte ermittelt und daraus der Link.
Gruß
Franz
'Code in einem allgemeinen Modul der Datei
Sub Internet_Explorer_starten()
'dieses Makro den Schaltflächen (aus den Formularsteuerelementen) zuweisen
Dim varCaller
Dim objIE As Object
Dim Spalte As Long
Dim strLink As String
Dim wks As Worksheet, objShape As Shape
Set wks = ActiveSheet
varCaller = Application.Caller 'Name der Schaltfläche
Set objShape = wks.Shapes(varCaller) 'Shape-Objekt der Schaltfläche
Spalte = objShape.TopLeftCell.Column 'Spalte in der Schaltfläche plaziert ist
'Link zusammenbasteln
'strLink = "https://www.herber.de" & wks.Cells(1, Spalte)
strLink = "http://link/installation.aspx?anfId=" & wks.Cells(1, Spalte)
'Zelle in Zeile 2 kopieren
wks.Cells(2, Spalte).Copy
'IE Objekt kreieren und Link öffnen
Set objIE = VBA.CreateObject("Internetexplorer.Application")
objIE.Parent.Visible = True
objIE.Navigate strLink
Set objIE = Nothing
End Sub

Anzeige
AW: Mehrere Funktionen auf einen Butten legen
11.11.2014 10:21:24
mike
Hallo Franz,
vielen herzlichen Dank für Deinen Code! Ich verstehe allerdings nicht ganz, wie die Schaltfläche sich über die Position identifiziert... Geht das auch anstatt über die Spalte über die Zeile? Das Problem besteht aus meiner Sicht in der Struktur des Dokuments.
Ich habe mal die Datei angehängt. Ersatzweise für die spätere Funktion gibt es dort die Spalte "Google Suchbegriff". Dort nur einen Suchbegriff eingeben und dann auf den Link (!) klicken. (Button geht ja noch nicht... :)
Das Konzept mit den Buttons soll dann überall dort greifen, wo die Button in der Datei eingebunden sind.
https://www.herber.de/bbs/user/93668.xlsm
Schon jetzt vielen Dank!!!

Anzeige
AW: Mehrere Funktionen auf einen Butten legen
11.11.2014 11:02:27
fcs
Hallo Mike,
über die Anweisung
Application.Caller
kann man den Namen des Objektes (hier den Schaltflächen) ermitteln, das das Makro gestartet hat.
Dieser entspricht dem Namen des entsprechenden Shape-Objektes.
Über die TopLeftCell des Shapes (also der Zelle in der sich die obere linke Ecke der Schaltfläche befindet) kann man dann die Zeile und Spalte ermitteln in der die Schaltfläche plaziert ist.
Mit diesen Werten kann man die Zelle mit dem Link-Zusatz und die zu kopierende Zelle bestimmen und die Informationen verarbeiten.
Man muss beim Einfügen der Schaltflächen also "nur" darauf achten, dass diese immer in der gleichen Weise relativ zu den auszuwertenden Zellen plaziert werden. Dann kann man das gleiche Makro allen Schaltflächen zuweisen.
Gruß
Franz
'Code in einem allgemeinen Modul der Datei
Sub Internet_Explorer_starten()
'dieses Makro den Schaltflächen (aus den Formularsteuerelementen) zuweisen
Dim varCaller
Dim objIE As Object
Dim Spalte As Long
Dim Zeile As Long
Dim strLink As String
Dim wks As Worksheet, objShape As Shape
Set wks = ActiveSheet
varCaller = Application.Caller 'Name der Schaltfläche
Set objShape = wks.Shapes(varCaller) 'Shape-Objekt der Schaltfläche
Spalte = objShape.TopLeftCell.Column 'Spalte in der Schaltfläche plaziert ist
Zeile = objShape.TopLeftCell.Row 'Zeile in der Schaltfläche plaziert ist
'Link zusammenbasteln
'strLink = "https://www.herber.de" & wks.Cells(Zeile, Spalte - 2)
strLink = "https://www.google.de/webhp?hl=de&gws_rd=ssl#hl=de&q=" _
& wks.Cells(Zeile, Spalte - 2)
'Zelle mit SN in Zeile in Spalte links von Schaltfläche kopieren
wks.Cells(Zeile, Spalte - 1).Copy
'IE Objekt kreieren und Link öffnen
Set objIE = VBA.CreateObject("Internetexplorer.Application")
objIE.Parent.Visible = True
objIE.Navigate strLink
Set objIE = Nothing
End Sub

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige