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

Hyperlinks nur in einem begrenzten Bereich zulasse

Hyperlinks nur in einem begrenzten Bereich zulasse
24.01.2019 21:14:46
Kalle
Hallo liebe VB und Excel-Experten,
ich habe eine Tabelle in der der User ausschließlich nur innerhalb zweier Bereiche: Range("K5:N235") und Range("Q5:AD235") Hyperlinks einfügen darf. Wie erlaube ich, bzw wie begrenze ich das?
Eingrenzen müsste nach meinen Recherchen so gehen:
If Not Intersect(Selection, Range("K5:N235")) Is Nothing Or _
Not Intersect(Selection, Range("Q5:AD235")) Is Nothing Then
"in diesen Bereich Hyperlinks einfügen erlaubt"
End if
Aber wie spreche ich das "Erlauben von Hyperlinks" an?
Schon mal ganz herzlichen Dank für Eure Mühe

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Hyperlinks nur in einem begrenzten Bereich zulasse
25.01.2019 00:00:43
Rob
Hi,
probier es mal damit:

Private Sub Worksheet_Change(ByVal Target As Range)
Target.Hyperlinks.Delete
If Not Intersect(Target, Range("K5:N235")) Is Nothing Or _
Not Intersect(Target, Range("Q5:AD235")) Is Nothing Then
Target.Hyperlinks.Add Target, CStr(Target)
End If
End Sub

AW: Hyperlinks nur in einem begrenzten Bereich zulasse
27.01.2019 17:52:47
Kalle
Hallo Rob,
auch wenn etwas verspätet: Erst mal vielen herzlichen Dank für den Tipp.
Leider funktioniert das nicht.
Ich kann nach wie vor Links in alle Zellen einfügen.
Ich suche ein Lösung, bei der sofort nach Anklicken einer Zelle, die außerhalb Range("K5:N235") und Range("Q5:AD235")liegt, die Prozedur sofort abgebrochen wird - also Exit sub (), wenn die angeklickte Zelle außerhalb des o.g. Bereichs liegt
Liegt die ausgewählte Zelle innerhalb des o.g. Bereichs soll das Einfügen eine Hyperlinks ganz normal funktionieren.
Mein VB ist leidersehr bescheiden. Kann mir jemand weiterhelfen? Vorab schon mal ein großes Dankeschön.
Nachstehend mein Ansatz, der nicht tut.
Private Sub Worksheet_Change(ByVal Target As Range)
Target.Hyperlinks.Delete
If Not Intersect(Target, Range("K5:N235")) Is Nothing Or _
Not Intersect(Target, Range("Q5:AD235")) Is Nothing Then
Exit Sub
Else
Target.Hyperlinks.Add Target, CStr(Target)
End If
End Sub

Anzeige
AW: Hyperlinks nur in einem begrenzten Bereich zulasse
28.01.2019 16:27:20
Rob
Ich glaube nicht, dass das funktioniert. Wie soll Excel erkennen, dass ein Hyperlink eingefügt werden soll? Du kannst lediglich vermeiden, dass außerhalb der angegebenen Range der Hyperlink an sich selber aktiviert wird oder das Arbeitsblatt außerhalb der Range für Eingaben komplett sperren. Wäre Letzeres eine Option?
AW: Hyperlinks nur in einem begrenzten Bereich zulasse
28.01.2019 20:59:51
Kalle
Hallo Rob, Vielen Dank für die erneute Antwort. Meine Überlegung war halt diese:
Wenn der User über die rechte Maustaste auf Link... klickt, müsste Excel doch erkennen, dass ein Link eingefügt werden soll. Dies sollte dann nur in den zwei angegebenen Bereichen zugelassen werden. In allen anderen Bereichen sofort abgebrochen oder blockiert werden.
Hatte eigentlich nicht damit gerechnet, dass ich hier an die Grenzen von VBA stoßen würde.
Das Arbeitsblatt außerhalb der Ranges für Eingaben komplett sperren geht leider nicht.
Ich werde mir dann etwas anderes einfallen lassen müssen. Leider sind meine VB-Kenntnisse eher bescheiden.
Falls jemand dennoch eine Lösung wüsste, ich wäre sicher nicht traurig darüber!
Viele Grüße und jedenfalls ein dickes Dankeschön an alle Helfer des Forums.
Kalle Sz.
Anzeige
AW: Hyperlinks nur in einem begrenzten Bereich zulasse
28.01.2019 23:09:20
Rob
Excel reagiert erst, wenn ein Link eingefügt wurde. Du kannst das ganz einfach selber testen, indem Du den Makro-Rekorder einschaltest, rechts Klick, Link und Schließen oder Abbrechen. Keinerlei Aufnahme bis auf die selektierte Zelle.
Ich recherchiere aber nochmal und gebe Bescheid...
AW: Hyperlinks nur in einem begrenzten Bereich zulasse
29.01.2019 21:54:29
Rob
Hi, also es geht doch aber über Umwege. Du musst die Command-Ebene der Menüleiste der Datei ändern. Das geht z.B. mit dem CustomUI-Editor. Leider kann man den HTML-Quellcode hier nicht posten (wegen den Rauten-Klammern) aber der nachfolgende Quellcode sollte nachvollziehbar sein:

HTML-Quellcode
customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui" onLoad="NHA_Excel"
commands
command idMso="HyperlinkInsert" onAction="NHA_Exit" /
/commands
ribbon
/ribbon
backstage
/backstage
/customUI

Das kommt in ein Standardmodul:

Option Explicit
Public objRibbon                As IRibbonUI
Public bolNotHyperlinkAllowed   As Boolean
Public Sub NHA_Excel(ribbon As IRibbonUI)
Set objRibbon = ribbon
End Sub
Public Sub NHA_Exit(control As IRibbonControl, ByRef cancelReturn)
If Not bolNotHyperlinkAllowed Then
cancelReturn = True
MsgBox "Das Einfügen von Hyperlinks ist hier nicht erlaubt. Vorgang abgebrochen.", 64, " _
Hinweis"
Else
cancelReturn = False
End If
bolNotHyperlinkAllowed = False
End Sub
In "Diese Arbeitsmappe":

Private Sub Workbook_Open()
bolNotHyperlinkAllowed = False
End Sub
Und in die Tabelle als Event:

Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
If Target.Address = "$A$1" Then 'hier noch anpassen
bolNotHyperlinkAllowed = False
Else
bolNotHyperlinkAllowed = True
End If
End Sub
Natürlich musst Du Dich mit dem CustomUI-Editor etwas vertraut machen, ist aber nicht so schwer.
Gib mal Bescheid, ob Du klar kommst!
Grüße,
Rob
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige