Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: 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
Anzeige

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
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige