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

Wert einer Zelle über VBA in Zwischenablage kopieren

2 views
Skip to first unread message

Chris Ross

unread,
Jan 20, 2001, 7:05:09 AM1/20/01
to
hi NG,

wie kann ich über VBA den zeichenfolgeinhalt einer zelle so in die
zwischnablage kopieren, das ich die zeichenfolge in anderen anwendungen per
rechtsklick/einfügen verwenden kann?

für die mühe vielen dank im vorraus
gruß
Chris


Frank Arendt-Theilen

unread,
Jan 20, 2001, 1:31:58 PM1/20/01
to
Hallo Chris,
mitr der Anweisung ActiveCell.Copy.

MfG Frank
_____________________________________________________
Frank Arendt-Theilen, Microsoft MVP für Excel, Hameln
E-Mail: Thei...@t-online.de


Am Sat, 20 Jan 2001 13:05:09 +0100, schrieb "Chris Ross"
<great....@bigfoot.com> in microsoft.public.de.excel zu "Wert
einer Zelle über VBA in Zwischenablage kopieren":

Chris Ross

unread,
Jan 20, 2001, 2:10:50 PM1/20/01
to
ich will mich nochmal eben für meine rechtschreibfehler entschuldigen, aber
manchmal prellen manche tasten meiner tastatur...;-)

in den von mir geschriebenen texten es muss natürlich heissen: voraus und
danach

sorry for that


Chris Ross

unread,
Jan 20, 2001, 2:07:50 PM1/20/01
to
hi frank

> Hallo Chris,
> mitr der Anweisung ActiveCell.Copy.

das hatte ich auch schon, damit gehts aber eben nicht...:-(

ich MUSS in die zelle gehen, dann den darinbefindlichen text per maus
markieren und mit rechtsklick/kopieren in die zwischenablage speichern. erst
dannach kann ich die andere anwendung wechseln und den kopierten text mit
rechtsklick/einfügen dorthin kopieren.

das andere wäre ja zu einfach . .;-)

gruß
chris


Wilfried Butzek

unread,
Jan 20, 2001, 2:37:18 PM1/20/01
to

Hallo Chris,

kannst Du z.B. so machen (Achtung! Einfuegen nur mit
Texteditor und Word 97 getestet):

Sub TestZwischenablage()
Dim varZellinhalt As Object
Set varZellinhalt = Application.ActiveCell
varZellinhalt.Copy
Set varZellinhalt = Nothing
End Sub

Einen unschoenen Effekt hat das aber:
Der Laufrahmen um die Zelle (Kopiermodus)
bleibt bestehen.

Mit freundlichem Gruss
Wilfried

Chris Ross

unread,
Jan 20, 2001, 3:14:38 PM1/20/01
to
hallo Wilfried,

> kannst Du z.B. so machen (Achtung! Einfuegen nur mit
> Texteditor und Word 97 getestet):
>
> Sub TestZwischenablage()
> Dim varZellinhalt As Object
> Set varZellinhalt = Application.ActiveCell
> varZellinhalt.Copy
> Set varZellinhalt = Nothing
> End Sub

ich hatte mich schon sooo gefreut . .:-))
in word und dem editor funktioniert es bestens, aber leider bei meiner
anwendung nicht. komischerweise klappt es, wenn ich "von hand" den
zellinhalt markiere und per copy&paste in die anwendung einfüge?! ich habe
beim testen im texteditor festgestellt, das automatisch ein return angefügt
wird, wenn ich die zelle mit deiner methode hineinkopiere. könnte es etwas
damit zu tun haben?

für deine hilfe trotzdem vielen dank

gruß
chris

Frank Arendt-Theilen

unread,
Jan 20, 2001, 3:17:52 PM1/20/01
to
Hallo Chris,
dann habe ich dich nicht richtig verstanden. Wie solls denn sonst
gehen?

MfG Frank
_____________________________________________________
Frank Arendt-Theilen, Microsoft MVP für Excel, Hameln
E-Mail: Thei...@t-online.de


Am Sat, 20 Jan 2001 20:07:50 +0100, schrieb "Chris Ross"
<great....@bigfoot.com> in microsoft.public.de.excel zu "Re: Wert


einer Zelle über VBA in Zwischenablage kopieren":

>hi frank

Manfred Grieble

unread,
Jan 20, 2001, 4:07:13 PM1/20/01
to
Frank Arendt-Theilen schrieb...

>dann habe ich dich nicht richtig verstanden. Wie solls denn
>sonst gehen?

Hallo Frank und Chris,

wenn ich's richtig deute ist das Problem, daß die Lebensdauer der
von XL aus kopierten Inhalte in der Zwischenablage nur so lange
währt wie der Laufrahmen aktiv ist. Wenn man den, z.B. mit Esc
deaktiviert oder XL verläßt, ist die Zwischenablage leer im Gegen-
satz zum Verhalten in anderen Anwendungen. I.A. bleibt der Inhalt
der Zwischenablage ja sonst erhalten bis erneut kopiert wird.
Da mich das auch schon gewaltig gestört hat wäre ich auch an einer
Lösung interessiert.

Gruß, Manfred


Manfred Grieble

unread,
Jan 20, 2001, 4:31:21 PM1/20/01
to
Manfred Grieble schrieb...

>Wenn man den, z.B. mit Esc deaktiviert oder XL verläßt, ist die

>Zwischenablage leer...

So, jetzt hab' ich nochmal rumprobiert und folgendes festgestellt.
Wenn man XL bei aktivem Laufrahmen schließt bleibt der Wert in der
Zwischenablage erhalten.

Mit diesem Makro geht's; ist zwar nicht der Weisheit letzter Schluß,
aber immerhin :-)

Sub zwischenablage()
Application.DisplayAlerts = False
ActiveCell.Copy
ActiveWorkbook.Close
End Sub

Anschließend kann man in andere Anwendungen einfügen.

Gruß, Manfred


Robert Feldmann

unread,
Jan 21, 2001, 3:30:39 PM1/21/01
to
Hallo Chris,

probiers mal mit dieser (ungetesteten) Variante aus dieser NG.

Private Sub Test()
Dim ClipAbLage As DataObject
Dim Txt$
Set ClipAbLage = New DataObject
Txt = "Test!"
ClipAbLage.SetText Txt
ClipAbLage.PutInClipboard
Tabelle1.Paste
End Sub


Chris Ross schrieb:

--
bis dann,
Robert

Nicht was Du sagst ist entscheidend,
sondern was verstanden wird.

Chris Ross

unread,
Jan 23, 2001, 10:22:01 AM1/23/01
to
hallo Robert,

> probiers mal mit dieser (ungetesteten) Variante aus dieser NG.

<cut>

jep, DAS war's!! ich habe festgestellt, das bei den anderen methoden
komischerweise ein return angefügt wird und meine anwendung damit nicht
klarkommt?! deine version tut das NICHT und somit klappts auch mit der
nachbarin...:-))

vielen herzlichen dank!

gruß
Chris


0 new messages