Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Zwischenablage in eine Zelle einfügen (VBA)

2,063 views
Skip to first unread message

Klaus

unread,
Nov 21, 2013, 1:47:56 PM11/21/13
to
Hallo ihr Excelnden,

ich bin dabei aus einem PDF einzelne Zeilen und/oder Abschnitte in einzelne Zellen in Excel zu kopieren und einzufügen.

Wie schaff ich es mehrzeilige Abschnitte aus der Zwischenablage in eine einzelne Zelle zu bekommen?

Von Hand geht das mit einfügen in die Bearbeitungszeile oder vor dem Einfügen F2 drücken - aber wie geht es mit VBA?

Ich steh auf der Leitung ... Danke!


LG vom Klaus

Claus Busch

unread,
Nov 21, 2013, 2:04:40 PM11/21/13
to
Hallo Klaus,

Am Thu, 21 Nov 2013 10:47:56 -0800 (PST) schrieb Klaus:

> Wie schaff ich es mehrzeilige Abschnitte aus der Zwischenablage in eine einzelne Zelle zu bekommen?

du kannst von der Zwischenablage so importieren:

Sub Test()
Dim myData As DataObject
Set myData = New DataObject
myData.getfromclipboard
ActiveSheet.Range("A1") = myData.GetText
End Sub


Mit freundlichen Gr��en
Claus
--
Win XP Prof SP3 / Vista Ultimate SP2
Office 2003 SP3 /2007 Ultimate SP3

Klaus

unread,
Nov 21, 2013, 2:27:30 PM11/21/13
to
Super Claus,

vielen Dank, das funzt perfekt!

Meinst du das kann man auch noch weiter automatisieren?

Kann ich Excel dazu bringen, dass sobald etwas in die Zwischenablage kopiert wird, der Inhalt automatisch nach Excel in eine Zelle eingefügt wird?

Dann müsste ich nicht mehr zwischen Reader und Excel wechseln, sondern nur noch markieren und kopieren ... das wär geil! :-)


LG vom Klaus

Claus Busch

unread,
Nov 21, 2013, 2:36:32 PM11/21/13
to
Hallo Klaus,

Am Thu, 21 Nov 2013 11:27:30 -0800 (PST) schrieb Klaus:

> vielen Dank, das funzt perfekt!

wundert mich. Denn ich habe vergessen zu erw�hnen dass du den Verweis
auf "MicrosoftForms 2.0 Object Library" setzen musst.

> Meinst du das kann man auch noch weiter automatisieren?

Wechseln musst du so noch, aber es ist doch eine Arbeitserleichterung.
Klicke rechts auf den Tabellenreiter des entsprechenden Tabellenblattes
und w�hle Code anzeigen. F�ge den Code in das Codefenster ein. Nun
brauchst du nur zu kopieren und dann in Excel die gew�nschte Zelle
ausw�hlen. Sie wird dann aus der Zwischenablage gef�llt:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim myData As DataObject
Set myData = New DataObject
myData.getfromclipboard
Target = myData.GetText

Klaus

unread,
Nov 21, 2013, 2:48:40 PM11/21/13
to
Hallo Claus,

> wundert mich. Denn ich habe vergessen zu erw�hnen dass du den Verweis
> auf "MicrosoftForms 2.0 Object Library" setzen musst.

den hatte ich schon gesetzt - ich hab schon in Excel programmiert, allerdings nie mit der Zwischenablage ...

> Wechseln musst du so noch, aber es ist doch eine Arbeitserleichterung.

Keine Frage, das ist es!
Ich hab eine Form von der aus ich die Felder meiner Daten-Matrix befülle.
Bei jedem Einfügen springe ich zum nächsten Datenfeld.

Kann ich abfragen ob die Zwischenablage gefüllt ist?
Und kann ich die Zwischenablage per VB leeren?


Nochmals vielen Dank und LG vom Klaus

Claus Busch

unread,
Nov 21, 2013, 3:30:43 PM11/21/13
to
Hallo Klaus,

Am Thu, 21 Nov 2013 11:48:40 -0800 (PST) schrieb Klaus:

> Kann ich abfragen ob die Zwischenablage gef�llt ist?

dann probiers mal so:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim myData As DataObject

Set myData = New DataObject
myData.getfromclipboard

If myData.GetFormat(1) = True Then
Target = myData.GetText
Else
MsgBox "Nichts kopiert"
End If

End Sub

> Und kann ich die Zwischenablage per VB leeren?

Application.CutCopyMode = False

Klaus

unread,
Nov 21, 2013, 5:02:58 PM11/21/13
to
Hi Claus,

vielen, vielen Dank für deine Unterstützung!

Ich hab jetzt auch noch weitere Möglichkeiten gefunden - ich wusste halt vorher nicht nach was ich suche ... Clipboard war das fehlende Puzzle-Stück.

Ich melde mich sobald ich das Ding am Laufen habe.

LG vom Klaus
0 new messages