ich habe folgendes Problem. Ich würde gerne mit dem Code die Hyperlinks meines Tabellenblattes ändern. Ich habe aber bereits dort wo ich diesen hineinkopieren möchte einen "string" befehl für eine kombinationsleiste die erstellt wird beim aktivieren des tabellenblattes. leider bin ich kein fachmann und was nicht genau was dieser "string-befehl" auslöst, nur konnte ich leider feststellen das dieser der hyperlinks dessen meines kombinationsfelds beisst? kann mir da jemand helfen oder den code umwandeln das er nur aus subs besteht ?
hat irgendetwas mit der option explicit zu tun denke ich ..
wäre sehr dankbar für eine hilfe.
____________________________________________________________________________________
Option Explicit
Dim zielLwNeu As String, zielLwAlt As String, ok As Boolean
Private Sub ToggleButton1_Click()
Dim s1 As String, i As Integer, hyp As Hyperlink, ok1 As Boolean, s2 As String
If ok Then
'das Ereignis nur ausführen, wenn der User mit der Maus geklickt hat
'es wird aber auch ausgeführt, wenn man den Value-Wert per Vba ändert
'Zustand vor den Klick auf ToggleButton sichern, falls 'Nein' gedrückt wird
ok1 = Not Me.OLEObjects("ToggleButton1").Object.Value
s2 = Me.OLEObjects("ToggleButton1").Object.Caption
s1 = "Wollen Sie die Ziel-Adressen der Hyperlinks ändern"
'Abfrage Ja oder Nein
i = MsgBox(s1, 48 + vbYesNo, "F r a g e")
If i = vbYes Then
''bei 'Ja'
''Excel-Bremsen ausschalten
For Each hyp In ActiveSheet.Hyperlinks
If hyp.Range.Column = 14 Then
s1 = hyp.Address
''Lw-Buchstabe austauschen
s1 = Replace(s1, zielLwAlt, zielLwNeu, 1, 1, vbTextCompare)
''Adresse des Hyperlinks neu setzen
hyp.Address = s1
End If
Next hyp
Set hyp = Nothing
''Ziel-Lw umswitchen
s1 = zielLwNeu
zielLwNeu = zielLwAlt
zielLwAlt = s1
'Beschriftung des ToggleButtons ändern
If Not ok1 Then
Me.OLEObjects("ToggleButton1").Object.Caption = "z.Z. Firma"
Else
Me.OLEObjects("ToggleButton1").Object.Caption = "z.Z. Privat"
End If
Else
'alten Zustand wiederherstellen, weil 'Nein' gedrückt wurde
ok = False
Me.OLEObjects("ToggleButton1").Object.Value = ok1
Me.OLEObjects("ToggleButton1").Object.Caption = s2
ok = True
End If
End If
End Sub
Private Sub Worksheet_Activate()
Dim s As String
s = ActiveSheet.Hyperlinks(1).Address
ok = False
''mit der Variablen ok wird verhindert, das die Befehle des ToggleButton1_Click()- _
Ereignisses
''ausgeführt werden
'Eigenschaften des ToggleButtons setzen nach der Einstellung des 1. Hyperlinks
If UCase(Left(s, 3)) = "J:\" Then
zielLwNeu = "\\Firma-Server\Public\"
zielLwAlt = "J:\"
Me.OLEObjects("ToggleButton1").Object.Value = False
Me.OLEObjects("ToggleButton1").Object.Caption = "z.Z. Privat"
Else
zielLwNeu = "J:\"
zielLwAlt = "\\Firma-Server\Public\"
Me.OLEObjects("ToggleButton1").Object.Value = True
Me.OLEObjects("ToggleButton1").Object.Caption = "z.Z. Firma"
End If
ok = True
End Sub
_________________________________________________________________________________
viele grüsse