Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1280to1284
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

Mit Hyperlink Makroaufruf

Mit Hyperlink Makroaufruf
16.10.2012 14:13:33
Dieter(Drummer)
Hi VBA Spezialisten,
In Tabelle1, in C1 ist ein Hyperlink (mit entsprechendem Script in Tabelle1), der bei Klick ein Makro aus Modul1 aufruft. Das Makro formatiert eine Zelle.
Nun das Problem: Die Formatierung durch das Makro soll in einer x-beliebigen Zelle, die anschliessend nach dem Klick auf den Hyperlink angewählt wird, erfolgen. Jetzt wird mir die Zelle C1, in der der Hyperlink steht, formatiert.
Wie muss das Hyperlink-Makro in Tabelle1 geändert werdem damit NICHT die Zelle C1, sondern eine anschliessend gewählte Zelle aktiv geändert wird. Evtl muss nur das Makro im Modul1 geändert werden, aber wie?
Hier habe ich eine Musterdatei mit Makros angehängt:
https://www.herber.de/bbs/user/82146.xls
Dank vorab für jede Hilfe.
Gruß, Dieter(Drummer)

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Mit Hyperlink Makroaufruf
16.10.2012 15:28:36
Armin
Hallo Dieter, so richtig kapier ich Dein Problem nicht. Wozu nach dem Hyperlink noch einer Zelle anwählen die dann Formatiert wird. Warum nicht gleich beliebige Zelle formatieren. Und wozu dann zuerst den Hyperlink anklicken?
Gruß Armin

AW: Mit Hyperlink Makroaufruf
16.10.2012 15:40:02
Dieter(Drummer)
Hi Armin,
deine Frage kann ich gut verstehen. Wie ich eine Makro per Button aktivieren kann, ist mir bekannt.
Mit geht darum, wie ich per Hyperlink das Makro aufrufen kann und danach soll das Makro eine neu aktivierte Zelle formatieren. Es muss wohl das Formatierungsmakro im Modul1 anpasst werden, dass ich die NUR neu aktivieret Zelle formatieren kann. Jetzt wird ja die Zelle, in der der Hyperlink ist, formatiert.
Gruß
Dieter(Drummer)

Anzeige
AW: Mit Hyperlink Makroaufruf
16.10.2012 15:42:05
Hajo_Zi
Hallo Dieter,
warum fragst Du die Zelle nicht per Inputbox ab?

AW: Mit Hyperlink Makroaufruf
16.10.2012 15:45:48
Dieter(Drummer)
Eine gute Idee Hajo,
danke für deine Rückmeldung. Wie ich die Inputbox ins Makro einbinden kann, dafür fehlt mir der Wissensstand in VBA.
Gruß
Dieter(Drummer)

AW: Mit Hyperlink Makroaufruf
16.10.2012 15:47:28
Hajo_Zi
Hallo Dieter,
VarPrints = Application.InputBox("Anzahl der Ausdrucke", "Drucken", 0, Type:=1)
ich glaube 64 bei Typ ist Rabge, schaue4 mal in die Hilfe.
Gruß Hajo

Anzeige
AW: Mit Hyperlink Makroaufruf
16.10.2012 15:46:30
Armin
Hallo Dieter, Du hast meine Frage nicht beantwortet, warum über den Hyperlink der hat ja eine hinterlegte feste Adresse. Für mich sind das zwei verschiedene Events.
Gruß Armin

AW: Danke Armin und Hajo ...
16.10.2012 16:01:21
Dieter(Drummer)
... ich habe eine Lösung über Inputbox im Netz gefunden, dei ich in meine Makro einarbeite:
Sub test()
Dim rngBer As Range
Set rngBer = Application.InputBox _
(prompt:="Bereich eingeben oder mit Maus auswählen", Type:=8)
End Sub
Werde es es passend für mich machen.
Armin: Ich will doch nur mal den komplizierten Weg über einen Hyperlink und anschliessendes Makro
ausprobieren. Zum Lernzweck!
Danke für eure Bemühung und Hilfe.
Gruß(Drummer)

Anzeige
AW: Da fehlt noch was ..
16.10.2012 16:08:06
Dieter(Drummer)
... da fehlt mir, nach dem Erscheinen der Inputbox und der Zellaktivierung, wohl noch ein Script, damit der Rest des Makros abgearbeitet wird.
Evtl. kann mir da noch geholfen werden. Hier das jetzige Sript:
Sub ZellBreiteHoehe()
Dim rngBer As Range
Set rngBer = Application.InputBox _
(prompt:="Bereich eingeben oder mit Maus auswählen", Type:=8)
Selection.ColumnWidth = 19.86
Selection.RowHeight = 28.5
'Formatierung einer aktierten Zelle
With Selection
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
.WrapText = True
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False
End With
With Selection.Font
.Name = "Arial"
.FontStyle = "Fett"
.Size = 10
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleNone
.ColorIndex = xlAutomatic
End With
'Rahmen festlegen
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
With Selection.Borders(xlEdgeLeft)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeTop)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeRight)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
End Sub
Gruß
Dieter(Drummer)

Anzeige
AW: Da fehlt noch was ..
16.10.2012 16:13:39
Hajo_Zi
Hallo Diter,
warum benutzt Du selection und nicht die Variable?
Gruß Hajo

AW: Dazu fehlt mir das VBA Wissen ...
16.10.2012 16:19:59
Dieter(Drummer)
... Hajo. Damit bin ich überfordert.
Gruß
Dieter(Drummer)

AW: Da fehlt noch was ..
16.10.2012 16:25:30
Hajo_Zi
Hallo Dieter,
der Code läuft durch und die Zellen wurden formatiert.
Option Explicit
Sub ZellBreiteHoehe()
Dim rngBer As Range
Set rngBer = Application.InputBox _
(prompt:="Bereich eingeben oder mit Maus auswählen", Type:=8)
With rngBer
.ColumnWidth = 19.86
.RowHeight = 28.5
'Formatierung einer aktierten Zelle
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
.WrapText = True
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False
With .Font
.Name = "Arial"
.FontStyle = "Fett"
.Size = 10
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleNone
.ColorIndex = xlAutomatic
End With
'Rahmen festlegen
.Borders(xlDiagonalDown).LineStyle = xlNone
.Borders(xlDiagonalUp).LineStyle = xlNone
With .Borders(xlEdgeLeft)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
With .Borders(xlEdgeTop)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
With .Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
With .Borders(xlEdgeRight)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
End With
End Sub

Gruß Hajo

Anzeige
AW: Top .... Hajo ... Danke!
16.10.2012 16:33:07
Dieter(Drummer)
Das war es wohl, das der "Hemmer":
Sub ZellBreiteHoehe()
Dim rngBer As Range
Set rngBer = Application.InputBox _
(prompt:="Bereich eingeben oder mit Maus auswählen", Type:=8)
With rngBer
.ColumnWidth = 19.86
.RowHeight = 28.5

...
Jetzt funktioniert es prima.
Danke für deine Bemühung und auch Dank an Armin.
Gruß
Dieter(Drummer)

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige