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

VBA Hyperlinks durch =HYPERLINK Funktion ersetzen

VBA Hyperlinks durch =HYPERLINK Funktion ersetzen
alex
Hallo zusammen,
Ich bin gerade ein wenig am herumexperimentieren mit meiner Mappe(ich will die Performance sowohl beim speichern als auch beim navigieren durch die Arbeitsmappe erhöhen).
Auf XLimits habe ich gelesen das man Hyperlinks durch die =HYPERLINK funktion ersetzn sollte da das um einiges weniger Arbeitsspeicher kosten.
Da ich aber ziemlich viele Hyperlinks habe würde ich gerne wissen ob man das mit VBA lösen kann und zwar in der kompletten Mappe. Es müssen auch die selben Namen wie vorher in der Zelle stehen, weil andere Makros nach diesen namen suchen.
ich habe leider keine Idee wie so ein Makro aussehen sollte.
für Hilfe währe ich sehr dankbar
Gruß alex

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
teste mal diesen Code.
20.03.2010 10:38:49
Tino
Hallo,
Sub test()
Dim rngCellHyperlink As Hyperlink, rngCell As Range
Dim strAddress$, strAnzeige$
Dim iCalc As Integer
Dim oWS As Worksheet

Set oWS = Tabelle1 'Tabelle anpassen 

If oWS.UsedRange.Hyperlinks.Count > 0 Then

    With Application
        iCalc = .Calculation
        .ScreenUpdating = False
        .EnableEvents = False
        .Calculation = xlCalculationManual
            
            With oWS
                For Each rngCellHyperlink In .UsedRange.Hyperlinks
                        strAddress = rngCellHyperlink.Address
                        strAnzeige = rngCellHyperlink.TextToDisplay
                        
                        Set rngCell = rngCellHyperlink.Range
                        rngCellHyperlink.Delete
                        
                        rngCell.FormulaR1C1 = _
                                   "=HYPERLINK(""" & strAddress & """,""" & strAnzeige & """)"
                        
                Next rngCellHyperlink
            End With
        
        .Calculation = iCalc
        .EnableEvents = True
        .ScreenUpdating = True
    End With

End If
End Sub
Gruß Tino
Anzeige
AW: teste mal diesen Code.
20.03.2010 17:07:38
alex
Hi Tino
dein code funktioniert super. nur leider bleibt der erwartete effekt aus. meine mappe is genauso langsam wie vorher, aber dafür 200kb kleiner. ich teste jetzt noch ob die anderen makros auf die änderungen klar kommen und dann lass ich das so.
vielen dank nochmal
gruß alex

304 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige