Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
652to656
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
652to656
652to656
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

String erweitern

String erweitern
14.08.2005 15:11:58
SusanneNr.1000
Hallo,
ich habe mal wieder ein Problem und hoffe, dass mir hier im Forum geholfen werden kann!
Ich habe ein Makro, das Internetadressen per Knopfdruck aus der Zwischenablage ausliest und dann in veränderter Form in eine vorgegebene Zelle schreibt, z.B. in der Form "google.de". Das hat auch soweit sehr gut funktioniert. Das Problem ist nur, dass ich nun auch immer häufiger Internetadressen nicht in der Form "http://.../..., sondern nur in der Form www...../... vorliegen habe (also ohne "http://" und dies dann jedesmal eine Fehlermeldung produziert hat. Darum habe ich mir überlegt, dass ich vorweg eine Abfrage des Strings in der Zwischenablage schalten wollte, der prüft ob http:// vorhanden ist und wenn nicht den String vor der Weiterverarbeitung so verändert, dass ein http;// vornedrangehängt wird. Irgendwas muss ich aber falsch gemacht haben, da auch das immer zu einer Fehlermeldung führt. Ich schreibe euch mal meinen Code auf und würde mich sehr freuen, wenn mir jemand helfen könnte!

Sub LinkBearbeiten()
Dim strAddresse$
Dim strErgebnis$
Dim oData As DataObject
Set oData = New DataObject
oData.GetFromClipboard
On Error Resume Next
strAddresse = oData.GetText
Fehler = Err.Number
strFehler = Err.Description
On Error GoTo 0
Select Case Fehler
Case 0 'Alles paletti
Case -2147221404 'Format kann nicht interpretiert werden
MsgBox "Ungültiges Format!", vbExclamation
Case Else 'Ein unbekannter Fehler ist aufgetreten
MsgBox Fehler & vbCr & strFehler, vbExclamation
End Select
strErgebnis = Replace(Split(strAddresse, "/", -1, 0)(2), "www.", "", 1, -1, 1)
ActiveCell.Value = strErgebnis
Call DatumeineZelleweiterlinks
End Sub

Vielen Dank im Voraus und Liebe Grüße
Susanne

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: String erweitern
14.08.2005 15:41:51
Matthias
Hallo Susanne,
so hängst du bei Bedarf das http:// vor den String:
If LCase(Left(strAddresse, 7)) "http://" Then
strAddresse = "http://" & strAddresse
End If
Gruß Matthias
AW: String erweitern
14.08.2005 15:55:54
Ralf
Hallo Susanne,
damit sollte es funktionieren:

Sub LinkBearbeiten()
Dim strAddresse$, strErgebnis$, oData As DataObject, l%
On Error Resume Next
Set oData = New DataObject
oData.GetFromClipboard
strAddresse = oData.GetText
l = InStr(1, strAddresse, ".de")
If Left(strAddresse, 4) = "http" Then
strErgebnis = Left(strAddresse, l + 2)
strErgebnis = Mid(strErgebnis, 12)
Else
strErgebnis = Mid(strAddresse, 5, l - 2)
End If
ActiveCell.Value = strErgebnis
'Call DatumeineZelleweiterlinks
End Sub

Ciao, Ralf
Anzeige
AW:String erweitern
14.08.2005 16:58:16
SusanneNr.1000
Hallo und vielen Dank für eure Lösungsvorschläge!
Leider funktionieren beide noch nicht richtig (diese Ansätze hatte ich so ungefähr auch schon ausprobiert). Bei der Lösung von Ralf funktioniert es wie gehabt, wenn der Link vollständig mit http:// ist und ansonsten wird nichts in die Zelle geschrieben und bei der Lösung von Matthias erhalte ich die Fehlermeldung "Index außerhalb des gültigen Bereichs" .... Habt ihr eine Idee woran das liegen könnte?
AW:String erweitern
14.08.2005 17:36:38
SusanneNr.1000
Hallo,
Kommando zurück, es war wieder mal meine eigene Schusseligkeit und die Lösung von Matthias stimmt natürlich wieder einmal. Ich habe nur durch das viele rumprobieren einen Namen geändert und dadurch den Laufzeitfehler erhalten! Vielen Dank nocheinmal für eure Hilfe!
Liebe Grüße Susanne
Anzeige
AW: AW:String erweitern
14.08.2005 17:48:48
Matthias
Hallo Susanne,
freut mich für dich, dass es nun klappt :-)
Was anderes: Wie bist du denn auf die Split()-Funktion gekommen?
Ich habe mit in einer Tabelle, die Datensätze in einer Zelle speichern soll, mühsam eigene Routinen geschrieben, und nun finde ich zufällig hier die Split()- und damit auch die Join()-Funktion...
Wenn ich das mal eher gewusst hätte!
Gruß Matthias
AW: AW:String erweitern
14.08.2005 17:57:34
SusanneNr.1000
Hallo Matthias,
ich gebe zu das die Idee nicht auf meinem Mist gewachsen ist... Ich habe den Tip auch aus einem Forum bekommen ...
Liebe Grüße Susanne

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige