wie kann ich per VBA nur die Hyperlinks im markierten Zellenbereich entfernen ohne die Zellen-Formatierung zu verlieren (Rahmen, Muster, Schriftschnitt, Zahlenformate etc.) ?
Vielen Dank im Voraus...
Liebe Grüße
Selma
Sub EntferneHyperLinksOhneZellenformat()
Cells.Copy
Cells.Hyperlinks.Delete
Cells.PasteSpecial Paste:=xlFormats
Range("A1").Select
End Sub
Gruß,
Uwe
Option Explicit
Sub EntferneHyperLinksOhneZellenformat()
Dim rngC As Range, rngT As Range, rngUR As Range
Application.ScreenUpdating = False
Set rngUR = ActiveSheet.UsedRange
Set rngT = Cells(Rows.Count, Columns.Count)
For Each rngC In rngUR
With rngC
If .Hyperlinks.Count > 0 Then
With .Font
.Underline = xlUnderlineStyleNone
.ColorIndex = xlAutomatic
End With
.Copy
rngT.PasteSpecial Paste:=xlFormats
.Hyperlinks.Delete
rngT.Copy
.PasteSpecial Paste:=xlFormats
End If
End With
Next rngC
rngT.Clear
Set rngT = Nothing
Set rngUR = Nothing
Application.ScreenUpdating = False
End Sub
Bei der Fragestellung ist allerdings nicht klar, ob der Hyperlinktext und die Markierung durch Schriftfarbe und Unterstreichung mit entfernt werden soll. Hier wären Nacharbeiten erforderlich.
Die Prozedur nutzt die letzte mögliche Zelle eines Blattes als temporären Zwischenspeicher für das Format. Daduch werden die Schiebebalken entsprechend an das Maximum von UsedRange angepaßt. Mit dem Speichern und Schließen der Mappe wird beim erneuten Öffnen werden die Schieberegler wieder an die tatsächlich genutzten Rangeweiten abgestimmt sein. Ob es hierzu eine geschicktere Lösung gibt interessiert mich, daher lasse ich die Frage als unbeantwortet offen.
Gruß,
Uwe