Anzeige
Archiv - Navigation
1556to1560
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

Code umschreiben für Modul, ohne "ByVal...

Code umschreiben für Modul, ohne "ByVal...
08.05.2017 07:51:16
Peter
Guten Morgen zusammen
Wie muss ich diesen Code umschreiben, damit ich diesen in einem Modul und nicht in der Tabelle und ohne "ByVal Target As Range" haben kann?
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Application.ScreenUpdating = False
'Hyperlinks 1, Technische Zeichnungen erstellen
Const strHL_1 As String = "http://condorportal.Firma.com/condorwp/showDetails.action?path= _
details/"
If Target.Column = 15 Then
If Target.Count = 1 Then
If Target  "" Then
ActiveSheet.Hyperlinks.Add Target, strHL_1 & Target
End If
End If
End If
Application.ScreenUpdating = True
End Sub
Danke
Viele Grüsse,
Peter

15
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Code umschreiben für Modul, ohne "ByVal...
08.05.2017 08:38:37
Daniel
Hi
Ersetze im Code "Target" durch "Selection"
Gruß Daniel
AW: Code umschreiben für Modul, ohne "ByVal...
08.05.2017 10:17:38
Peter
Hallo Daniel
Danke für Deine geschätzte Anwort, funktioniert sehr gut!
Ich habe noch folgende Frage, wenn Du diese mit dieser Anfrage beantworten möchtest, ansonsten erstelle ich einen neue Anfrage.
- Wie müsste der Code angepasst werden, wenn ich Hyperlinks nicht nur in Spalte 15, sondern auch in Spalte 16, 21 und 28 (Spalten 15, 16, 21, 28) erstellen möchte?
Private Sub Hyperlink_erstellen()
'Hyperlinks 1, Technische Zeichnungen erstellen
Const strHL_1 As String = "http://condorportal.Firma.com/condorwp/showDetails.action?path= _
details/"
If Selection.Column = 15 Then
If Selection.Count = 1 Then
If Selection  "" Then
ActiveSheet.Hyperlinks.Add Selection, strHL_1 & Selection
End If
End If
End If
End Sub
Danke
Viele Grüsse,
Peter
Anzeige
AW: Code umschreiben für Modul, ohne "ByVal...
08.05.2017 10:27:40
UweD
Private Sub Hyperlink_erstellen()

'Hyperlinks 1, Technische Zeichnungen erstellen 
Const strHL_1 As String = _
    "http://condorportal.Firma.com/condorwp/showDetails.action?path=details/"

      Select Case Selection.Column
        Case 15, 16, 21, 28
        If Selection.Count = 1 Then
          If Selection <> "" Then
            ActiveSheet.Hyperlinks.Add Selection, strHL_1 & Selection
          End If
        End If
      End Select
      
End Sub

LG UweD
Anzeige
AW: Code umschreiben für Modul, ohne "ByVal...
08.05.2017 10:31:05
ransi
Hallo,
Teste mal selber:
Option Explicit

Sub ungetestet()
    Const strHL_1 As String = "http://condorportal.Firma.com/condorwp/showDetails.action?path=details/"
    Dim Bereich As Range
    Dim Zelle As Range
    Set Bereich = Intersect(Selection, Range("O:P,U:U,AB:AB"))
    If Not Bereich Is Nothing Then
        'MsgBox Bereich.Address
        For Each Zelle In Bereich
            If Zelle <> "" Then
                ActiveSheet.Hyperlinks.Add Zelle, strHL_1 & Zelle.Value
            End If
        Next
    End If
End Sub


ransi
Anzeige
AW: Code umschreiben für Modul, ohne "ByVal...
08.05.2017 13:39:45
Peter
Hallo Ransi
Danke für Deine Antwort und Lösung, das Script läuft nicht. Nur in der aktiven Zelle, d.h. in der, der Cursor steht, wird der Hyperlink erstellt, in den anderen Zellen passiert nichts.
Viele Grüsse,
Peter
was bedeutet Selection ? .....
08.05.2017 13:46:06
robert
Set Bereich = Intersect(Selection, Range("O:P,U:U,AB:AB"))
If Not Bereich Is Nothing Then
..es muss eine Zelle im Bereich mit Inhalt(Text oder Zahl) sein, dann geht es.....
ein wenig nachdenken schadet nicht :-)
Gruß
robert
AW: was bedeutet Selection ? .....
08.05.2017 14:03:55
Peter
Hallo Robert
Ja klar, in den Zellen ist immer was eingetragen, ein Hyperlink wird gebraucht, wenn nichts drin stehen würde, könnte auch kein Hyperlink erstellt werden. Es steht natürlich immer die entsprechende Datensatznummer in den Zellen :-)
Trotzdem wir der Hperlink nicht erstellt.
Viele Grüsse,
Peter
Anzeige
AW: was bedeutet Selection ? .....
08.05.2017 14:12:42
UweD
Hallo
meinst du das so?
 Sub Hyperlink_erstellen()
    'Hyperlinks 1, Technische Zeichnungen erstellen 
    
    Dim Z
    Const strHL_1 As String = _
        "http://condorportal.Firma.com/condorwp/showDetails.action?path=details/"

    For Each Z In Range("O:P,U:U,AB:AB").SpecialCells(xlCellTypeConstants, 3)
        ActiveSheet.Hyperlinks.Add Z, strHL_1 & Z.Value
    Next
End Sub

Alle Zellen mit Text/Zahlen, in den festgelegtten Spalten werden einzeln abgearbeitet
LG UweD
Anzeige
AW: Offset, Hyperlink erst ab 3. Zeile?
08.05.2017 14:29:39
Peter
Hallo Uwe
Ja, jetzt läuft es, super vielen Dank!
Eine Frage habe ich noch, wäre es möglich, ein Offset einzubauen, so dass jeweils erst ab der dritten Zeile der Hyperlink erstellt wird?
Ich habe es jetzt so gelöst, dass ich in den beiden Ueberschrift-Zeilen, jeweils nach dem Erstellen der Hpyerlinks, diese wieder gelöscht werden. Funktioniert, ist jedoch keine "schöne" Lösung, ist ein Offset Einbau möglich?
Danke
Viele Grüsse,
Peter
AW: Offset, Hyperlink erst ab 3. Zeile?
08.05.2017 14:33:39
UweD
So?
 Sub Hyperlink_erstellen()
    'Hyperlinks 1, Technische Zeichnungen erstellen 
    
    Dim Z
    Const strHL_1 As String = _
        "http://condorportal.Firma.com/condorwp/showDetails.action?path=details/"

    For Each Z In Range("O:P,U:U,AB:AB").SpecialCells(xlCellTypeConstants, 3)
        If Z.Row > 2 Then
            ActiveSheet.Hyperlinks.Add Z, strHL_1 & Z.Value
        End If
    Next
End Sub


LG UweD
Anzeige
AW: Offset, Hyperlink erst ab 3. Zeile?
08.05.2017 17:18:49
Peter
Hallo Uwe
Ja, genau so, :-) DANKE!
Viele Grüsse,
Peter
Prima! Danke für die Rückmeldung.
08.05.2017 17:23:26
UweD
AW: was bedeutet Selection ? .....
08.05.2017 14:20:53
Peter
Hallo zusammen
Zur Ergänzung: Es ist eine Tabelle, in der in Spalte O,P,U und AB Datensatznummer stehen, die mit der Hyperlink-Konstante + der jeweiligen Datensatznummer zu einem Hyperlink zusammen gesetzt werden. Wenn der Hyperlink erstellt ist, öffnet sich mit anklicken auf den Hyperlink der entsprechende Datensatz (jeweils eine Technische Zeichnung etc.).
Mit dem unten stehenden Script funktioniert es, jedoch immer nur dann, wenn ich in der Zelle bin und die Datensatznummer von Hand reinschreibe. Jedoch benötige ich ein Script, dass mir bei einer fertigen Liste, mit allen Datensatznummern bereits enthalten, alle Hyperlinks in allen Spalten und Zellen erstellt.
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'Hyperlinks 1, Technische Zeichnungen erstellen
Const strHL_1 As String = "http://condorportal.Firma.com/condorwp/showDetails.action?path= _
details/"
If Target.Column = 15 Then
If Target.Count = 1 Then
If Target  "" Then
ActiveSheet.Hyperlinks.Add Target, strHL_1 & Target
End If
End If
End If
End sub

Ich hoffe, ich konnte mich nun ein wenig besser erklären.
Danke
Viele Grüsse,
Peter
Anzeige
AW: was bedeutet Selection ? .....
08.05.2017 15:16:12
Daniel
Hi
im Prinzip so:
dim Zelle as Range
for each Zelle in Range("O:P,U:U,AB:AB").SpecialCells(xlcelltypeconstants)
ActiveSheet.Hyperlinks.Add Zelle, strHL_1 & Zelle
end if
Gruß Daniel
AW: Hyperlinks erstellen in mehreren Spalten
08.05.2017 13:25:55
Peter
Hallo Uwe
Danke für Deine Antwort, jedoch funktioniert das Script nicht, die Einträge werden nicht in Hyperlinks umgewandelt. Wenn ich den Code ausführe, passiert nichts, keine Fehlermeldung oder sonst irgend einen Hinweis.
Hast Du eine Idee, woran es liegen könnte?
Danke
Viele Grüsse,
Peter

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige