Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

In Hyperlink Text aus Zelle einfügen

Frage Entwicklung VB for Applications

Mitglied: flo7689

flo7689 (Level 1) - Jetzt verbinden

21.01.2010 um 11:57 Uhr, 7534 Aufrufe, 9 Kommentare

Servus Leute,
ich bin auf dem Gebiet von VBA nicht wirklich der Fitteste! Deshalb hoffe ich, dass ihr mir helfen könnt...

Mein Problem sieht wie folgt aus:
Ich habe ein großes Excel-Datenblatt in dem in Spalte B etliche Links stehen. Diese müssen nun alle geändert werden. Und zwar muss an Stelle 20 (des Links) der Text aus Spalte D da rein (also in B1 --> D1, in B2 --> D2, ...).

Und hinter den Teil aus der Spalte D möchte ich noch einen eigenen Text einfügen ("_neu\").

Vielen Dank schon mal für eure Hilfe!
Gruß
Flo
Mitglied: kristov
21.01.2010 um 12:18 Uhr
Hallo,

etwa so (für etwa E1):
01.
=LINKS(B1;20)&D1&"_neu\"&TEIL(B1;21;LÄNGE(B1))
Vllt. kannst Du noch dazuschreiben, für welche Excelversion (obiger Code für 2007).

lg,
kristov
Bitte warten ..
Mitglied: flo7689
21.01.2010 um 14:00 Uhr
Hi Kristov,

danke für deine Antwort. Das Ganze ist für Excel 2007.

Dein Code, geht leider nicht, da die Hyperlinks "versteckt" sind. Also, in der Zelle steht ein Text, der mit einem Hyperlink kombiniert ist.

Gruß
Flo
Bitte warten ..
Mitglied: 76109
21.01.2010 um 14:13 Uhr
Hallo flo7689!

Stellt sich die Frage, ob das eine einmalige Sache ist bzw. alle Hyperlinks in Spalte B ersetzt werden sollen oder ob die Hyperlinks generell aus mehreren Teilen zusammengefügt werden sollen. Letzteres ließe sich mit einer einfachen Formel z.B. in Spalte A realisieren:

Formel z.B. in Spalte A1:
=WENN(D1<>"";HYPERLINK(LINKS(B1;20) & D1 & "_neu\" & TEIL(B1;21;LÄNGE(B1)-20);"Link");"")

Gruß Dieter
Bitte warten ..
Mitglied: flo7689
21.01.2010 um 14:21 Uhr
Hi Dieter!

Also, die Hyperlinks sollen in Spalte B ersetzt werden, deshalb wird es nicht ohne Makro gehen...

Ich muss aber noch mal was korriegieren. Und zwar soll mein Text ("_new\") erst nach dem 4. "\" eingefügt werden.

Ist das überhaupt realisierbar?

Grüße
Flo
Bitte warten ..
Mitglied: kristov
21.01.2010 um 14:23 Uhr
Dein Code, geht leider nicht, da die Hyperlinks "versteckt" sind. Also, in der Zelle steht ein Text, der mit einem
Hyperlink kombiniert ist.

Doch, das ganze funktioniert genau lt. Deiner Problemstellung. Dafür, daß Du die jetzt geändert hast, kann mein Code jetzt echt nix
Bitte warten ..
Mitglied: flo7689
21.01.2010 um 14:33 Uhr
Okay, sorry...

Aber kann sich dein Code den verwandeln, dass er danach wieder funktioniert?
Bitte warten ..
Mitglied: 76109
21.01.2010 um 14:52 Uhr
Hallo flo7689!

Zitat von flo7689:
Also, die Hyperlinks sollen in Spalte B ersetzt werden, deshalb wird es nicht ohne Makro gehen...

Ich muss aber noch mal was korriegieren. Und zwar soll mein Text ("_new\") erst nach dem 4. "\" eingefügt
werden.

Ist das überhaupt realisierbar?
Ja ist es, aber das dauert ein wenig, da ich gleich Unterwegs sein werden

Inzwischen könntest Du mal ein Vor- und Nachherbeispiel posten.

Gruß Dieter
Bitte warten ..
Mitglied: kristov
21.01.2010 um 14:58 Uhr
Naja, vba ist nicht so mein Ding.
Anhaltspunkt könnte das hier sein, dann hast Du mal die Links, ein Schleifchen zum Zählen der "\" dazu und in etwa das vba-Äquivalent zu meiner Formel, damit sollte das lösbar sein. Interessiert mich selbst, aber mir pressiert's zur Zeit etwas.
Bitte warten ..
Mitglied: 76109
23.01.2010 um 14:08 Uhr
Hallo flo7689 und Hallo kristov!

@flo7689
Da Du kein Beispiel gepostet hast, musst Du die Codes Deinen Wünschen entsprechend selbst anpassen.

Hier 3 verschiedene Versionen:
Version 1 - Gilt für den 1. Beitrag
Version 2 - Verwendet die Ersetzen-Funktion und ist beliebig einsetzbar
Version 3 - Verwendet das Zeichen "\" mit Positionsangabe

Version 1:
Spalte B X:\Text1\Text2\Text3\Text4\Text5\Text6
Spalte D \TextD
Einfügen \TextNeu
Ergebnis X:\Text1\Text2\Text3\TextD\TextNeu\Text4\Text5\Text6
01.
Const LinkSheet = "Tabelle1"        'Tabelle mit den Hyperlinks 
02.
 
03.
Const LinkSpalte = 2                'Spalte B - Hyperlink 
04.
Const PlusSpalte = 2                'Spalte D - Relativ zur Link-Spalte (B=0, C=1, D=2...) 
05.
 
06.
Const InsertText = "\TextNeu"       'Einfügen-Text 
07.
 
08.
Sub ReplaceHyperlinks() 
09.
    Dim Link As Hyperlink 
10.
     
11.
    For Each Link In Sheets(LinkSheet).Hyperlinks 
12.
        With Link 
13.
            If .Range.Column = LinkSpalte Then  'Nur Links in Spalte B 
14.
               .Address = Left(.Address, 20) & .Range.Offset(0, PlusSpalte) & InsertText & Mid(.Address, 21) 
15.
               .TextToDisplay = .Address 'Kann auch beliebiger Text sein z.B. "Link" in Zelle anzeigen 
16.
            End If 
17.
        End With 
18.
    Next 
19.
End Sub
Version 2 (Replace):
Spalte B X:\Text1\Text2\Text3\Text4\Text5\Text6
Spalte D \TextD
Einfügen \TextNeu
Ergebnis X:\Text1\Text2\Text3\TextNeu\TextD\Text4\Text5\Text6"
01.
Const LinkSheet = "Tabelle1"        'Tabelle mit den Hyperlinks 
02.
 
03.
Const LinkSpalte = 2                'Spalte B - Hyperlink 
04.
Const PlusSpalte = 2                'Spalte D - Relativ zur Link-Spalte (B=0, C=1, D=2...) 
05.
 
06.
Const SearchFor = "Text3"           'Text suchen 
07.
Const ReplaceTo = "Text3\TextNeu"   'Text ersetzen 
08.
 
09.
Sub ReplaceHyperlinks() 
10.
    Dim Link As Hyperlink 
11.
         
12.
    For Each Link In Sheets(LinkSheet).Hyperlinks 
13.
        With Link 
14.
            If .Range.Column = LinkSpalte Then  'Nur Links in Spalte B 
15.
               .Address = Replace(Left(.Address, 20) & .Range.Offset(0, PlusSpalte) & Mid(.Address, 21), SearchFor, ReplaceTo) 
16.
               .TextToDisplay = .Address  'Kann auch beliebiger Text sein z.B. "Link" in Zelle anzeigen 
17.
            End If 
18.
        End With 
19.
    Next 
20.
End Sub
Version 3 (4. "\"-Position):
Spalte B X:\Text1\Text2\Text3\Text4\Text5\Text6
Spalte D \TextD
Einfügen \TextNeu
Ergebnis X:\Text1\Text2\Text3\TextNeu\TextD\Text4\Text5\Text6"
01.
Const LinkSheet = "Tabelle1"        'Tabelle mit den Hyperlinks 
02.
 
03.
Const LinkSpalte = 2                'Spalte B - Hyperlink 
04.
Const PlusSpalte = 2                'Spalte D - Relativ zur Link-Spalte (B=0, C=1, D=2...) 
05.
 
06.
Const InsertText = "\TextNeu"       'Zusätzlicher Einfüg-Text 
07.
 
08.
Sub ReplaceHyperlinks() 
09.
    Dim Link As Hyperlink 
10.
     
11.
    For Each Link In Sheets(LinkSheet).Hyperlinks 
12.
        With Link 
13.
            If .Range.Column = LinkSpalte Then  'Nur Links in Spalte B 
14.
               .Address = GetLink(Left(.Address, 20) & .Range.Offset(0, PlusSpalte) & Mid(.Address, 21), 4, InsertText) 
15.
               .TextToDisplay = .Address  'Kann auch beliebiger Text sein z.B. "Link" in Zelle anzeigen 
16.
            End If 
17.
        End With 
18.
    Next 
19.
End Sub 
20.
 
21.
Private Function GetLink(ByVal Link As String, ByVal Position As Integer, ByRef Insert) As String 
22.
    Dim aLink As Variant 
23.
         
24.
    aLink = Split(Link, "\"):  Position = Position - 1 
25.
     
26.
    If UBound(aLink) >= Position Then aLink(Position) = aLink(Position) & Insert 
27.
     
28.
    GetLink = Join(aLink, "\") 
29.
End Function
Gruß Dieter
Bitte warten ..
Ähnliche Inhalte
Basic
Zellen vergleichen und Inhalt aus dritte Zelle einfügen
gelöst Frage von Rabbit81Basic3 Kommentare

Hallo, ich habe schon sehr gute Erfahrungen in diesem Forum gemacht und deswegen wende ich mich wieder an euch. ...

Batch & Shell
Text an bestimmter Stelle einfügen
gelöst Frage von noob-xBatch & Shell2 Kommentare

Hallo bin mal wieder am Basteln, komm aber nicht weiter wie stelle ich es an dass nummer 1 immer ...

Basic
Variablen Text einfügen
gelöst Frage von TheFalconBasic14 Kommentare

Hallo zusammen, ich hab ein Makro, welches automatisch eine E-MAil verschickt nachdem man in einer Message Box einen Text ...

Microsoft Office
Excel Text in Zelle bis Komma abschneiden
gelöst Frage von cphowdyMicrosoft Office4 Kommentare

Hi, ich ärger mich wahrscheinlich gleich wenn ich das gepostet habe, aber steh grad auf dem Schlauch. Ich habe ...

Neue Wissensbeiträge
Internet

Was nützt HTTPS, wenn es auch von Phishing Web-Seiten genutzt wird

Information von Penny.Cilin vor 2 TagenInternet17 Kommentare

HTTPS richtig einschätzen Ob man eine Webseite via HTTPS aufruft, zeigt ein Schloss neben der Adresse im Webbrowser an. ...

Webbrowser

Bugfix für Firefox Quantum released - Installation erfolgt teilweise nicht automatisch!

Erfahrungsbericht von Volchy vor 3 TagenWebbrowser7 Kommentare

Hallo zusammen, gem. dem Artike von heise online wurde mit VersionFirefox 57.0.1 sicherheitsrelevante Bugs behoben. Entgegen der aktuellen Veröffentlichung ...

Sicherheit

Teamviewer Sessions können gekapert werden - Update tw. verfügbar

Information von sabines vor 3 TagenSicherheit6 Kommentare

In bestimmten Konstellationen können Teamviewer Sessions gekapert werden, wahrscheinlich aber ein recht unwahrscheinliches Szenario. Da der Teamviewer gerne für ...

Digitiales Fernsehen

Apple TV: Amazon Prime App ist verfügbar

Information von Frank vor 4 TagenDigitiales Fernsehen4 Kommentare

Die Amazon Prime Video App kann ab sofort auf einem Apple TV ab der 3 Generation installiert werden. Einfach ...

Heiß diskutierte Inhalte
Vmware
Installation Windows 10 VMware
Frage von Ghost108Vmware17 Kommentare

Hallo zusammen, versuche gerade mit Hilfe des vshpere clients eine virtuelle Windows 10 maschine aufzusetzen. 1. virtuelle Maschine erstellt ...

Exchange Server
SBS 2011 E-Mails können gesendet werden, aber nicht von extern empfangen
Frage von andreas1234Exchange Server14 Kommentare

Hallo Community, ich habe das Problem, dass seit knapp zwei Wochen die E-Mails von meinem SBS 2011 einwandfrei gesendet ...

Voice over IP
Telefonstörung - Ortsrufnummern kein Verbindungsaufbau
Frage von Windows10GegnerVoice over IP10 Kommentare

Hallo, sowohl bei uns als auch beim Opa ist es über VoIP nicht möglich Ortsrufnummern anzurufen. Es kommt nach ...

Windows Server
Server 2012 über Eingabeaufforderung devmgmt.msc geht nicht
gelöst Frage von achim222Windows Server9 Kommentare

Hallo, ich habe hier einen Server 2012 der im Reparaturmodus startet. Es liegt an einem falschen VirtIO Treiber für ...