Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

String-Variable in die Zwischenablage kopieren

Forumthread: String-Variable in die Zwischenablage kopieren

String-Variable in die Zwischenablage kopieren
19.01.2004 18:52:41
Vera
Hallo Excler und Exclerinnen,
bei eBay sind seit Oktober die Hyperlinks auf Nicht-eBay-Seiten verboten.
Ich habe mir ein kleines Makro gebaut, mit dem ich den Link (z.B. Portokalkulator) in &#Code verwandele. Den kann dann die eBay Böse-Leute-Suche nicht finden.
Das funktioniert auch schon seit langem sehr gut.
Noch praktischer wäre es, wenn man von VBA aus den String direkt in die Zwischenablage kopieren könnte.
z.B. Zwischenablage = Merker$
Das geht doch bestimmt. - Aber wie? Ich komme nicht drauf!
Liebe Grüße,
Vera
(Nein, ich habe kein schlechtes Gewissen, denn das Link-Verbot ist eh' mal wieder ein eBay-Deutschland-Blödsinn; In USA sind alle Links erlaubt und 'Mein eBay' sind sie auch in Deutschland erlaubt.)
Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Ich hab' die Lösung - Geht es noch besser?
19.01.2004 19:22:11
Vera
Nach ein wenig probieren und suchen habe ich eine Lösung:

Sub Hyperlink_Code()
Dim Merker$, Merker1$
Dim Schleife As Byte
Dim MeineDaten As DataObject
Set MeineDaten = New DataObject
Merker1$ = ActiveWorkbook.ActiveSheet.Range("B19").Text
For Schleife = 1 To Len(Merker1$)
Merker$ = Merker$ & "&#" & Asc(Mid(Merker1$, Schleife, 1)) & ";"
Next Schleife
MeineDaten.SetText Merker$
MeineDaten.PutInClipboard
ActiveWorkbook.ActiveSheet.Range("B20").Formula = Merker$
End Sub

Geht es noch besser?
Liebe Grüße,
Vera
Anzeige

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Infobox / Tutorial

String-Variable in die Zwischenablage kopieren


Schritt-für-Schritt-Anleitung

Um eine Excel-String-Variable in die Zwischenablage zu kopieren, kannst Du das folgende VBA-Makro verwenden. Dieses Beispiel zeigt, wie Du die DataObject-Klasse verwendest, um den Text in die Zwischenablage zu setzen.

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Füge ein neues Modul hinzu (Einfügen > Modul).
  3. Kopiere den folgenden VBA-Code in das Modul:
Sub Hyperlink_Code()
    Dim Merker$, Merker1$
    Dim Schleife As Byte
    Dim MeineDaten As DataObject
    Set MeineDaten = New DataObject
    Merker1$ = ActiveWorkbook.ActiveSheet.Range("B19").Text
    For Schleife = 1 To Len(Merker1$)
        Merker$ = Merker$ & "&#" & Asc(Mid(Merker1$, Schleife, 1)) & ";"
    Next Schleife
    MeineDaten.SetText Merker$
    MeineDaten.PutInClipboard
    ActiveWorkbook.ActiveSheet.Range("B20").Formula = Merker$
End Sub
  1. Schließe den VBA-Editor und kehre zu Excel zurück.
  2. Gib in Zelle B19 den Text ein, den Du in die Zwischenablage kopieren möchtest.
  3. Führe das Makro aus (Entwicklertools > Makros > Hyperlink_Code > Ausführen).

Jetzt ist der Text in der Zwischenablage und kann überall eingefügt werden.


Häufige Fehler und Lösungen

  • Fehler: "DataObject ist nicht definiert."
    Lösung: Stelle sicher, dass Du die Microsoft Forms 2.0-Bibliothek aktiviert hast. Gehe zu Extras > Verweise im VBA-Editor und aktiviere die Bibliothek.

  • Fehler: Der Text wird nicht korrekt kopiert.
    Lösung: Überprüfe, ob der Text in Zelle B19 korrekt eingegeben wurde und keine unerwarteten Zeichen enthält.


Alternative Methoden

Es gibt auch andere Wege, einen Text in die Zwischenablage zu kopieren, zum Beispiel:

  • Verwendung von Application.CutCopyMode:
    Du kannst auch die Standard-Copy-Methode von Excel verwenden, um einen Bereich zu kopieren, und dann den Inhalt der Zwischenablage abfragen.
Sub CopyRange()
    ActiveWorkbook.ActiveSheet.Range("B19").Copy
    ' Der Inhalt ist jetzt in der Zwischenablage
End Sub

Praktische Beispiele

Hier ist ein praktisches Beispiel, wie Du eine Excel-String-Variable in die Zwischenablage kopieren kannst, um einen Hyperlink zu erstellen:

  1. Setze den Text "Besuche unsere Website" in Zelle B19.
  2. Führe das oben genannten Makro aus.
  3. Der Text in Zelle B20 wird nun in der Form Besucheunsere Website angezeigt.

Tipps für Profis

  • Automatisierung: Du kannst das Makro so anpassen, dass es automatisch bei bestimmten Ereignissen, wie dem Ändern einer Zelle, ausgeführt wird.
  • Fehlerbehandlung: Füge Fehlerbehandlungsroutinen hinzu, um sicherzustellen, dass das Makro auch bei unerwarteten Eingaben robust bleibt.
  • Komplexe Variablen: Wenn Du mehrere Variablen in die Zwischenablage kopieren möchtest, kannst Du diese in einem einzigen String zusammenfassen, bevor Du sie in die Zwischenablage überträgst.

FAQ: Häufige Fragen

1. Kann ich auch andere Datentypen in die Zwischenablage kopieren?
Ja, Du kannst auch andere Datentypen wie Bilder oder ganze Bereiche in die Zwischenablage kopieren, aber dafür benötigst Du spezifische Methoden.

2. Welche Excel-Version benötige ich für die Verwendung des DataObject?
Die DataObject-Klasse ist in den meisten modernen Excel-Versionen (ab Excel 2000) verfügbar, solange die Microsoft Forms 2.0-Bibliothek aktiviert ist.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige