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

Hyperlink Betreff ändern

Hyperlink Betreff ändern
12.08.2006 11:19:07
Gisela
Hallo zusammen,
ich habe verschiedene Spalten, die Hyperlinks enthalten
Jetzt soll in einer Spalte die Betreffzeile der dort stehenden Hyperlinks gelöscht werden und in einigen anderen Spalten die Hyperlink-Betreffzeile einen anderen Inhalt erhalten.
Kann mir bitte jemand sagen, wie:
Ich den Betreffinhalt mehrerer Hyperlinks entfernen kann und wie ich den Inhalt der Betreffzeile ändern kann ohne dass ich die Hyperlinks alle einzeln bearbeiten muss?
Ich hoffe, ich hab mich einigermaßen verständlich ausgedrückt.
Vielen Dank für jede Hilfe und Grüße
Gisela

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Hyperlink Betreff ändern - Fragen
12.08.2006 13:19:05
fcs
Hallo Gisela,
leider hast du dich nicht verständlich ausgedrückt.
Was meinst du mit "Betreffzeile der dort stehenden Hyperlinks"?
Ist das Text der zusätzlich in einer Zeile ober- oder unterhalb der Zelle mit dem Hyperlink eingegeben wurde? Oder ist das der Text der in den Zellen mit den Hyperlinks steht?
Ändern des Inhalts der Betreffzeile:
Falls du nicht jeden Hyperlink einzeln bearbeiten willst, dann muss es ja bestimmte Regeln geben, nach denen du die Inhalte systematisch ändern willst.
Im einfachsten Fall geht das mit "Suchen und Ersetzen". Wenn es etwas kompliziertere Regeln sind, dann in einer Hilfsspalte per Formel (Verwendung der Excel-Textfunktionen) den gewünschten Text berechnen lassen. Anschließend die Zellen mit dem Ergebnis kopieren und in der Spalte mit den Hyperlinks als Werte wieder einfügen.
Im Extremfall käme noch eine VBA-Lösung in Frage um die Ersetzungs-Regeln umzusetzen. Das ist aber nur sinnvoll wenn es sehr viele Links sind oder wenn man diese Ersetzungsaktionen häufiger machen muss.
Gruß
Franz
gruss
Franz
Anzeige
AW: Hyperlink Betreff ändern - Fragen
12.08.2006 13:47:53
Gisela
Hallo Franz,
der Inhalt von Betreff steht nicht in einer anderen Zelle, sondern
unter "Hyperlink bearbeiten" gibt es eine Betreffzeile, in der steht z.Zt. "Auftrag aufgrund unseres Angebotes....
Nun soll in dieser Betreffzeile entweder der gesamte Text gelöscht werden oder bei den Hyperlinks in einer anderen Spalte muß ich in dieser Zeile einen anderen Text vorgeben.
Da es sich um eine größere Menge von Hyperlinks handelt, wäre es nett, wenn jemand hierfür eine Lösung kennt.
Vielen Dank und Grüße
Gisela
AW: Hyperlink Betreff ändern - Fragen
12.08.2006 14:00:51
Gisela
Hallo Franz,
der Inhalt von Betreff steht nicht in einer anderen Zelle, sondern
unter "Hyperlink bearbeiten" gibt es eine Betreffzeile, in der steht z.Zt. "Auftrag aufgrund unseres Angebotes....
Nun soll in dieser Betreffzeile entweder der gesamte Text gelöscht werden oder bei den Hyperlinks in einer anderen Spalte muß ich in dieser Zeile einen anderen Text vorgeben.
Da es sich um eine größere Menge von Hyperlinks handelt, wäre es nett, wenn jemand hierfür eine Lösung kennt.
Vielen Dank und Grüße
Gisela
Anzeige
AW: Hyperlink Betreff ändern - Fragen
12.08.2006 16:10:50
fcs
Hallo Gisela,
leider kennt mein etwas betagtes Excel97 diesen Betreff für Hyperlinks noch nicht. Ich hab jetzt aber einmal Uwes Ansatz mit ein paar Eingabeboxen in einem Makro kombiniert. In den Eingabeboxen gibst du an, welche Spalte bearbeitet werden soll und was geändert werden soll.
Die entscheidende Zeile mit dem ansprechen der Betreff-Eigenschaft muss du ggf. mit einem aufgezeichneten Makro in der aktuelleren Excel-Version ermitteln.
Das Makro läuft in einer Schleife, bis du in einer der Eingabeboxen auf Abbrechen klickst.
Gruß
Franz

Sub Hyperlinksbearbeiten()
Dim varSpalte, strWas As String, Zelle As Range, rngBereich As Range, NeuerText As String
Dim HL As Hyperlink
Do
varSpalte = UCase(InputBox("Welche Spalte soll bearbeitet werden. Bitte Buchstaben eingeben", "Hyperlinksbearbeiten", ""))
If varSpalte = "" Then Exit Sub
Eingabe2:
strWas = InputBox("Was soll gemacht werden?" & vbLf & vbLf _
& "   1 = Inhalt Betreff löschen" & vbLf _
& "   2 = Inhalt Betreff ändern" & vbLf, "Hyperlinksbearbeiten", "")
Select Case strWas
Case ""
Exit Sub
Case "1"
NeuerText = ""
Case "2"
NeuerText = InputBox("NeuerText für Hyperlink-Betreff?", "Hyperlinksbearbeiten", "")
Case Else
'do nothing
MsgBox "Eingabe Fehler, nur 1 oder 2 ist zulässig"
GoTo Eingabe2
End Select
If MsgBox("Soll der Betreff für die Hyperlinks tatsächlich geändert werden?" & vbLf & vbLf _
& "   Spalte:       " & varSpalte & vbLf _
& "   Neuer Text : " & NeuerText, vbYesNo, "Hyperlinks bearbeiten") = vbYes Then
Set rngBereich = ActiveSheet.Range(Cells(1, varSpalte), Cells(ActiveSheet.Rows.Count, varSpalte).End(xlUp))
For Each Zelle In rngBereich
If Zelle.Hyperlinks.Count > 0 Then
Set HL = Zelle.Hyperlinks(1)
' In der folgenden Zeile muss jetzt das richtige Objekt/Eigenschaft des Hyperlinks eingesetzt werden!!!!
HL.TextToDisplay = NeuerText 'TextToDisplay funktioniert in Excel97 nicht
Set HL = Nothing
End If
Next
End If
Loop
End Sub

Anzeige
AW: Hyperlink Betreff ändern - Fragen
12.08.2006 19:30:21
Gisela
Hallo,
auch Dir vielen Dank und ein schönes Wochenende
Grüße
Gisela
AW: Hyperlink Betreff ändern
12.08.2006 14:11:46
ingUR
Hallo, Gisela,
das scheinen mir ein paar wenige Informationen zu sein um daraus mehr herzuleiten, als Dir den Tipp zu geben, den Makro-Rekorder einzusetzen und dann am erzeugten Code zu beurteilen, welche Informationseinträge Du automatisiert werden können.
Meinst Du mit dem Betreffinhalt, den angezeigten Text eines Links (Eigenschaft: TextToDisplay)?
Nach welchen festen Kriterien sollen die Eigenschften der Hyperlinks gesetzt, verändert bzw. gelöscht werden?
Hier ein Gedanke, der das Löschen oder Ändern von Links durchführt, wenn rechts neben der Zelle mit dem Link eine Texteingabe Minuszeichen für das Löschen des Links oder eine Alphanumerische Eingabe für das Ändern des Anzeigetextes steht.

For Each rng In Range("a1:f10")
If rng.Hyperlinks.Count Then
If rng.Offset(0, 1).Value <> "" Then
Set HL = rng.Hyperlinks(1)
Fkt = rng.Offset(0, 1).Value
Select Case Fkt
Case "-": HL.Delete
Case Else
HL.TextToDisplay = Fkt
rng.Offset(0, 1).Value = ""
End Select
Set HL = Nothing
rng.Offset(0, 1).Value = ""
End If
End If
Next

Weiter Steuerzeichen kann man dem Text der Nachbarzelle voranstellen und auswerten, um weitere Eigenschaften des Links zu bearbeiten. Auch sind Listeneinträge möglich, die abgearbeitet werden. Dann besteht noch die Möglichkeit, beimm Antreffen eines Hyperlinks in einer Zelle, ggf. mit besonderen Faormatierungsattributen, einen Bearbeitungsdialog (UserForm) zu öffnen. Und vieles mehr ist denkbar, doch ob es wirklich hilfreich ist, wirst Du entscheiden müssen.
Gruß,
Uwe
Anzeige
AW: Hyperlink Betreff ändern
12.08.2006 15:14:24
Gisela
Hallo Uwe,
vielen Dank für Deine Hilfe.
Ich werd mal schaun was ich damit anfangen kann.
Grüße und ein schönes Wochenende
Gisela
AW: Hyperlink Betreff ändern
12.08.2006 21:00:06
ingUR
Hallo, Gisela,
es hat lange bei mir gedeuert, ehe ich begriffen habe, wass Du eigentlich vor hast, denn EMail-Adressen habe ich noch nie mit EXCEL verwaltet und daher wurde mir erst jet klar, was Du mit der Änderung der Betreffzeile meinst, nachdem ich mir einmal die Eigenschaften dieser Hyperlinks angeschaut habe.
Hier ein erster Schritt: HLE HyperLinkEditoe

(zum Vergrö0ern bitte Bild anklicken)
Es werden, wenn das Makro "HyperLinkEditor" (HLE) aufgerufen wird, alle Hyperliks des Aktiven Tabbelenblattes i dem Bereich A1:X1000*1 gelesen und die Anzeigetitel in einer Listbox dargestellt. Anwählen eines Tittel bewirkt, dass die Eigenschaften des Links in Textboxen eingeschrieben werden und bei Emailadressen eben auch die Betreffzeile.
Nun wären die Routinen zur Übernahme der Lösch-, Änderungs-, Neuanlage- und Abruchsfunktion noch mit Leben zu erfüllen, wozu ich noch nicht gekommen bin.
Da Du Deine VBA-Kenntnise nur auf die Makro-Recorder begrenzt angibst, schau einmal nach, ob diesen "HLE" auf Deiner Mappe zum Laufen bekommst. Der einfachste Weg wäre der, die betreffenden Tabellenbläter in diese Baispielmappe zu kopieren, denn dann sind die VBA-Formulare und Module gleich ander korrenten Stelle (Die derzeitiegen Tabellen Tabelle1 bis Tabelle3 können dann entfernt werden.
Wenn es zu diesem Theme nicht irgendwo im Netz eine vorgefertigte Lösung gibt, dann könnte man, wenn Du meinst dieser "HLE"es könnten den Anforderungen, die durch den Arbeitsablauf gegeben sind, genügen, dann wird sich schon eine Lösung finden, um die noch fehlende Funktionalität in Hinblick auf das Verändern, einzubauen. Dann könnten auch nich Fehlerabfangroutineen eigebaut und getestet werden, was bisher noch nicht umfassend geschehen ist.
Gruß,
Uwe
*1
Der Bereich wir beim Initialisieren der Userform in der Prozedur UserForm_Initialize() und kann natürlich angepasst werden

Private Sub UserForm_Initialize()
Dim nItems As Long
nItems = ReadHyperLinks(ActiveSheet.Range("A1:X1000"))
End Sub

Jedoch sollte der Bereich auf den Benutzten Bereich beschränkt bleiven, da das Auslesen der HyperLink-Information einige Zeit benotig, wenn mann es auf alle möglichen Zellen eines Tabellenblattes ausdehnen wpürde.

Anzeige
AW: Hyperlink Betreff ändern
12.08.2006 23:46:55
Gisela
Hallo,
recht herzlichen Dank. Das wars was ich brauchte.
Nochmal sorry, dass ich mich so unklar ausgedrückt habe.
Grüße und eine schöne Zeit
Gisela
AW: Hyperlink Betreff ändern
13.08.2006 20:48:05
ingUR
Hallo, Gisela,
nur wenn sehr viel Zeit und auch Geduld vorhanden ist, sowie der Größe nicht fehlt, Rückschlägen zu ertragen und an Beispieldatenen geübt werden kann, seht nun unter dem gleichen Link wie vorher die erweitere Arbeitmappe
UF_HyperLink.xls zu Verfügung.
Die Löschfunktion bezogen auf die Hyperlinks ist aus Sicherheitsgründen noch auskommentiert. Wenn das Kommentarzeichen vor der Teile entfernt wird, so geschieht das natürlich nach eigenem Ermessen und es ist zu entscheiden, ob der Zelleninhalt auch gelöschzt werden soll, was die zusätzliche zur Zellenlöschung erfordert:

'ActiveSheet.Range(tbxShtCell).Hyperlinks(1).Delete
'ActiveSheet.Range(tbxShtCell).Value = ""
Das Änder der Betreffzeile funktioniert bei meinen durchgeführten Tests, wobei die Ergänzung zur EMailadress ( ... ?subject=Betrefftext ) aurtomatisch ergäntz wird, der Betrefftext dort in diesem Texteingabefenster nicht editiert wird.
Im Datenbereichsfenster ist derzeit ein zusammenhängender Bereich zu wählen (gestartet wird mir UsedRange), der sich auch auf einzelne Spalten beziehen darf. Jedcoh sollte wegen der Arbeitzeit und der Gefahr der "Überbelastung" auf Extreme im Ufamg der Bereiche verzichtet werden (Die Zeit, die ein Test mit A1:AX63000 beispielsweise benötigt - also 52*63000 Zellen, von denenn nur fünf mit Hyperlinkeinträgen versehen waren - lassen schon den Gedanken aufkommen ob man nicht zwischendurch nicht noch etwas anderes erledigen könnte).
Effektiv wird dieses Werkzeug aber wohl erst dann, wenn neben dem Löschen und dem Einzel-Verändern von Betreffeinträgen, eine Mehrfachselektion abgearbeitet werden kann. Aber die Userform soll ja nur als Übung für mich und als Anregung für die Weiterentwicklung dienen.
Gruß,
Uwe
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige