Hallo Forum,
ich brauche mal eure Hilfe
und zwar geht es darum, eine Excel-Arbeitsmappe als CSV zu speichern getrennt mit ";" - das geht auch schon.
Ich habe in der Excel-Arbeitsmappe eine Spalte (immer nur eine z. B. "B") in der nur Hyperlinks sind.
Diese Hyperlinks muss ich durch html a-Tags ersetzen, also so: <a href"www.google.de">google.de</a>.
Meine Idee war, einfach nach "www" oder "http" zu suchen und die Zelle dann entsprechend anzupassen aber da es auch Hyperlinks (eigentlich nur) sind, funktioniert das so nicht. Meine nächste Idee war über ".Hyperlinks.Delete" den Link zu löschen, so dass nun nur noch Text da steht - geht ebenso nicht.
Als nächstes habe ich versuch zu prüfen ob eine Zelle einen Hyperlink enthält und da hängt es bei mir.
Ich brauche VBA eigentlich nur selten, wäre nett wenn mir jemand erklären kann, was zu tun ist und warum
Der Fehler der auftritt, ist: "Index außerhalb des gültigen Bereichs", damit kann ich nicht so recht etwas anfangen. (in Zeile '<<<<<)
MfG Tony
ich brauche mal eure Hilfe

und zwar geht es darum, eine Excel-Arbeitsmappe als CSV zu speichern getrennt mit ";" - das geht auch schon.
Ich habe in der Excel-Arbeitsmappe eine Spalte (immer nur eine z. B. "B") in der nur Hyperlinks sind.
Diese Hyperlinks muss ich durch html a-Tags ersetzen, also so: <a href"www.google.de">google.de</a>.
Meine Idee war, einfach nach "www" oder "http" zu suchen und die Zelle dann entsprechend anzupassen aber da es auch Hyperlinks (eigentlich nur) sind, funktioniert das so nicht. Meine nächste Idee war über ".Hyperlinks.Delete" den Link zu löschen, so dass nun nur noch Text da steht - geht ebenso nicht.
Als nächstes habe ich versuch zu prüfen ob eine Zelle einen Hyperlink enthält und da hängt es bei mir.
Ich brauche VBA eigentlich nur selten, wäre nett wenn mir jemand erklären kann, was zu tun ist und warum

Der Fehler der auftritt, ist: "Index außerhalb des gültigen Bereichs", damit kann ich nicht so recht etwas anfangen. (in Zeile '<<<<<)
MfG Tony
Visual Basic-Quellcode
- 'Speichern mit ";" als Trennzeichen
- Sub SaveCSVSemicolon()
- Dim rngBereich As Range
- Dim rngZeile As Range
- Dim rngZelle As Range
- Dim strTemp As String
- Dim strPfad As String
- strPfad = ThisWorkbook.Path + "\"
- Const strDateiname As String = "csv2_file"
- Const strErweiterung As String = ".csv"
- Const strTrennzeichen As String = ";"
- Set rngBereich = ActiveSheet.UsedRange 'Nur die benutzten Zellen
- Open strPfad & strDateiname & strErweiterung For Output As #1
- For Each rngZeile In rngBereich.Rows
- For Each rngZelle In rngZeile.Cells
- 'Zellen, die ein "www" oder "http(s)" beinhalten in html a-Tags ändern
- If ((InStr(1, rngZelle.Text, "www") > 0) Or (InStr(1, rngZelle.Text, "http") > 0)) Then
- strTemp = strTemp & "<a href=""" & CStr(rngZelle.Text) & """>" & CStr(rngZelle.Text) & "</a>;"""
- 'Zellen, die einen Hyperlink enthalten ebenfalls ändern
- ElseIf (rngZelle.Hyperlinks(1).Count > 0) Then '<<<<<
- strTemp = strTemp & "<a href=""" & CStr(rngZelle.Hyperlinks(1).Address) & """>" & CStr(rngZelle.Hyperlinks(1).Address) & "</a>;"""
- 'Alle anderen Zellen nicht ändern
- Else
- strTemp = strTemp & CStr(rngZelle.Text) & strTrennzeichen
- End If
- Next
- Print #1, strTemp
- strTemp = ""
- Next
- Close #1
- Set rngBereich = Nothing
- End Sub
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Tony-S“ ()