Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1796to1800
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
Inhaltsverzeichnis

Mehrzeiliger Text aus Zwischenablage

Mehrzeiliger Text aus Zwischenablage
05.12.2020 19:23:45
JJ
Hallo,
ich stehe vor folgendem Problem:
Ich möchte einen mehrzeiligen Text aus der Zwischenablage in eine Zelle einfügen.
Das einfügen an sich funktiioniert mit folgendem Code auch einwandfrei:
Dim MyData As DataObject
Set MyData = New DataObject
MyData.GetFromClipboard
Tabelle7.Cells(1, 1) = MyData.GetText
Set MyData = Nothing
Das Problem ist, ich hätte gerne jede Zeile des Textes in der Zwischenablage in einer separaten Excelzeile.
Ich habe im Forum recherchiert, bin aber nur auf eine Lösung gestoßen, die jeden einzelnen Buchstaben ausliest (siehe folgender Code):
Dim iZeile As Integer
Dim iPosit As Integer
iZeile = 1
For iPosit = 1 To Len(Range("A1").Value)
If Mid(Range("A1").Value, iPosit, 1) = Chr(10) Then
iZeile = iZeile + 1
Else
Range("B" & iZeile).Value = Range("B" & iZeile).Value & Mid(Range("A1").Value, iPosit, 1)
End If
Next iPosit
Das Problem ist, dass dieser Code recht lange durchläuft, da jedes einzelne Zeichen übertragen wird.
Gibt es noch eine andere Möglichkeit, einen Mehrzeiligen Text in einzelne Zellen aufzuteilen?
Vielen Dank euch.
Grüße JJ

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

Betreff
Datum
Anwender
Anzeige
AW: Mehrzeiliger Text aus Zwischenablage
05.12.2020 19:44:23
Hajo_Zi
Split() Trennzeiochen Chr(10) oder Chr(13)
Zu Deiner Datei kann ich nichts schreiben, was wohl daran liegt das ich nicht auf fremde Rechner schaue.Ich baue keine Datei nach.
Sollte die Datei verlinkt werden?
Wenn du an Stelle einer Demomappe deine Originalmappe hochladen willst, diese aber sensible Daten enthält, kannst du diese Daten
http://www.ms-office-forum.de/forum/showthread.php?t=322895
ändern.
Bilder lade ich mir nicht runter, da Excel damit nichts anfangen kann.
http://www.excel-ist-sexy.de/bilder-statt-datei/
Hochgeladene Bilder können zwar als solche in Excel importiert werden, sind jedoch bei der Lösung von Problemen nicht sehr hilfreich, da man die eigentlichen Daten nicht ohne große und zeitraubende Umwege direkt in die Tabelle übertragen kann.
Das ist nur meine Meinung zu dem Thema.
http://www.excel-ist-sexy.de/bilder-statt-datei/
Hochgeladene Bilder können zwar als solche in Excel importiert werden, sind jedoch bei der Lösung von Problemen nicht sehr hilfreich, da man die eigentlichen Daten nicht ohne große und zeitraubende Umwege direkt in die Tabelle übertragen kann.
Das ist nur meine Meinung zu dem Thema.

Anzeige
AW: Mehrzeiliger Text aus Zwischenablage
05.12.2020 20:12:35
JJ
Hallo Hajo,
anbei eine Beispielmappe
https://www.herber.de/bbs/user/142100.xlsm
Der Beispieltext in A1 wurde durch den Sub Einfügen aus der Zwischablage eingefügt.
Da automatisch alles in eine Zelle eingefügt wurde, habe ich den Sub Aufteilen hinzugefügt.
(siehe Modul 1)
Die Frage ist nun, ob es eine andere Möglichkeit mit einer geringerem Laufzeit gibt.
Mit dem aktuellen Code dauert das Aufteilen in einzelne Zeilen ca. 9 sek und das würde ich gerne verkürzen.
Danke.
Gruß JJ
AW: Mehrzeiliger Text aus Zwischenablage
06.12.2020 09:11:16
Nepumuk
Hallo,
teste mal:
Public Sub Beispiel()
    Dim MyData As DataObject
    Dim astrTemp() As String
    
    Set MyData = New DataObject
    
    MyData.GetFromClipboard
    astrTemp = Split(MyData.GetText, vbLf)
    Tabelle7.Cells(1, 1).Resize(UBound(astrTemp) + 1, 1).Value = Application.Transpose(astrTemp)
    
    Set MyData = Nothing
End Sub

Gruß
Nepumuk
Anzeige
AW: Mehrzeiliger Text aus Zwischenablage
06.12.2020 10:25:45
JJ
Hallo,
genau so etwas habe ich gesucht. Funktioniert perfekt.
Vielen Dank
Gruß JJ
AW: Mehrzeiliger Text aus Zwischenablage
06.12.2020 09:15:42
volti
Hallo,
hier eine Möglichkeit:
Code:
[Cc]

01
02
03
04
05
06
07
08
09
10
 
Sub Einfügen() Dim MyData As DataObject Set MyData = New DataObject MyData.GetFromClipboard sarr = Split(MyData.GetText, vbCrLf) Range("A1").Resize(UBound(sarr) + 1, 1) = Application.Transpose(sarr) Set MyData = Nothing End Sub

_________________________
viele Grüße aus Freigericht 😊
Karl-Heinz

Anzeige
AW: Mehrzeiliger Text aus Zwischenablage
06.12.2020 10:26:27
JJ
Hallo,
auch diese Möglichkeit funktioniert einwandfrei.
Vielen Dank.
Gruß JJ

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige