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

Mitglied: flo7689

flo7689 (Level 1) - Jetzt verbinden

21.01.2010 um 11:57 Uhr, 7595 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 ...

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 ...

Webentwicklung

Foto Upload und Default Text einfügen

gelöst Frage von smackeeWebentwicklung12 Kommentare

Hallo zusammen Ich bin auf der Suche nach einem Tool oder wie man das umsetzen kann. Ein User laded ...

Neue Wissensbeiträge
Windows 10

USB Maus und Tastatur versagen Dienst unter Windows 10

Tipp von hardykopff vor 5 MinutenWindows 10

Da steht man ziemlich dumm da, wenn der PC sich wegen fehlender USB Tastatur und Maus nicht bedienen lässt. ...

Administrator.de Feedback
Update der Seite: Alles zentriert
Information von Frank vor 2 StundenAdministrator.de Feedback8 Kommentare

Hallo User, die größte Änderung von Release 5.8 ist das Zentrieren der Webseite (auf großen Bildschirmen) und ein "Welcome"-Teaser ...

Humor (lol)

WhatsApp-Nachrichten endlich auch per Bluetooth versendbar

Information von BassFishFox vor 20 StundenHumor (lol)4 Kommentare

Genau darauf habe ich gewartet! ;-) Der beliebte Messaging-Dienst WhatsApp erhält eine praktische neue Funktion: Ab dem nächsten Update ...

Google Android

Googles "Android Enterprise Recommended" für Unternehmen

Information von kgborn vor 1 TagGoogle Android3 Kommentare

Hier eine Information, die für Administratoren und Verantwortliche in Unternehmen, die für die Beschaffung und das Rollout von Android-Geräten ...

Heiß diskutierte Inhalte
Server-Hardware
Welche Rolle spielt Design bei Enterprise IT Hardware?
Frage von ApolloXServer-Hardware17 Kommentare

Ich arbeite für einen internationalen Elektronikhersteller in der Forschung und meine Aufgabe ist es, Feedback von Nutzern in Hinsicht ...

Windows Netzwerk
WSUS4 und Windows 10 Updates automatisch installieren
Frage von sammy65Windows Netzwerk15 Kommentare

Hallo miteinander, ich habe mit einen neuen WSUS Server aufgesetzt Server 2016 darauf einen aktuellen WSUS. Grund, wir stellen ...

Speicherkarten
Vergessliche USB-Sticks?
Frage von hanheikSpeicherkarten14 Kommentare

Ich habe in den letzten Tagen 500 USB-Sticks mit Bilddateien bespielt. Obwohl ich die Dateien mit größter Sorgfalt kopiert ...

Switche und Hubs
Cisco SG350X-48 AdminIP in anderes VLAN
Frage von lcer00Switche und Hubs14 Kommentare

Hallo zusammen, ich habe ein Problem mir einem Cisco SG350X-48 bei der Erstinstallation wurde eine IP 192.168.0.254 (Default VLAN ...