Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
252to256
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
252to256
252to256
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Daten aus Zwischenablage kopieren...

Daten aus Zwischenablage kopieren...
13.05.2003 10:25:34
Werner
Tach zusammen,

mein Problem ist folgendes:

ich habe aus einer anderen Anwendung Daten in der Zwischenablage. Die Daten sehen so aus bzw. würden so in Excel eingefügt werden; und zwar untereinander in einer Spalte:

=10
=11
=12
=13
=20
=23

usw. usf.
Wie kann ich das nun hinbekommen, dass
1. die = nicht mitkopiert werden und dass
2. die Daten über zwei Spalten eingefügt werden und zwar (hier im Beispiel) der Wert 10 etwa in B1 (da wo ich es reinkopere), der Wert 11 in C1, 12 wieder in B2, die 13 wieder in C2 usw.
Also jeder zweite Wert in die Spalte rechts von der eigentliche Spalte wo ich's reinkopiere.

Wer kann mir da helfen? Muss wohl über einen Tabellenblattcode gehen, aber ich weiß nicht wie.


So...das war's schon ;)

Werner

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Daten aus Zwischenablage kopieren...
13.05.2003 13:07:59
ANdreas

Hallo Werner,

also Du fügst das kopierte wie gehabt als Text in Excel ein und führst danach sofort das Makro aus. Also der eingefügte Bereich muss genau so selektiert bleiben:

Hoffe das hilft weiter.
Andreas

Re: Daten aus Zwischenablage kopieren...
13.05.2003 13:29:29
Wicky

Hallo Werner!

Ich arbeite grade haargenau am selben Problem. Beim Kopieren&Einfügen übernimmt das Excel immer die Schriftfarbe und Anzahl der Zeilen aus der anderen Anwendung. Und bei mir sind auch noch recht viele unnütze Daten dabei wie Überschriften, die ich nicht jedesmal danach wieder aus Excel rauslöschen möchte.

Das kann man nur mit einem Makro lösen, ich bin bis jetzt soweit:
Hab mir einen Button auf dem Excel Blatt mithilfe der Formular-Symbolleiste erstellt, und diesen dann mit einem eigenen Makro verknüpft.

Mein Makro sieht nun so aus, beachte bitte folgnedes: Im VB-Fenster mit dem Code muss man oben auf "Extras" und dann "Verweise" klicken. Dann kommt eine Liste, in der man bei "Microsoft 2.0 Forms Library" das Kästchen anklicken muss, bevor man sie im Code verwenden darf. Sonst hat man über das Makro keinen Zugriff auf die Zwischenablage-funktionen.

Also hier ist mein Makro bis jetzt:

Sub makro1()
Dim temp As String
Dim Ablage As New DataObject
Ablage.GetFromClipboard
temp = Ablage.GetText

So weit so gut, jetzt hat man in dem String "temp" die gesamte Zwischenablage als aufeinandergereichte Zeichen.
Wenn man nun
Range("A1").Value = temp
macht, ist die gesamte Zwischenablage in einem einzigen Kästchen. Da sie bei dir auch mehreren Zeilen besteht, wird es ca. so aussehen: =10@=11@=12 .. usw
Statt dem Klammeraffen @ steht halt ein schwarzes Quadrat, das ich hier im Forum nicht wiedergeben kann.

Mithilfe von den verschiedenen String-funktionen wie Mid(), InStr(), Val() usw sollte es nicht allzuschwer sein, die einzelnen Werte innerhalb des Makros in integer Variablen zu speichern. (Anm. soweit hab ich es schon geschafft)

*******
Mein Problem ist jetzt nur noch, wie kann man in einem Makro veranlassen, dass Excel die Zellen A1, B1, C1 usw überprüft, und dann die erste leere Zelle hernimmt, denn da will ich den Wert reinhaben.
Ich habe keine Ahnung, wie man die Adresse einer Zelle in einer Variablen speichern kann, und was man machen muss um sie eins nach rechts, links, oben oder unten zu verschieben. Bitte helft uns!

mfG Wicky

Anzeige
Re: Daten aus Zwischenablage kopieren...
13.05.2003 14:15:56
Werner

Hallo Andreas,

erst mal vielen Dank! Deine Antwort war der erste lichtblick in einem dunklen Tunnel ;)

Ja...das hilft erstmal.

Aber vielleicht kannst Du einem Makro-Newbie noch ein wenig unter die Arme greifen.

Gleich zwei Fragen:
Wie muss ich das Makro verändern, wenn ich die daten in einer anderen Spalte kopiere? Also z.B. in die Spalte ab C15 oder in die Spalte ab F11?

Zweitens und das ist momentan der ganze knackpunkt bei mir: wie kann ich gleichzeitig mit dem ordnen der Daten die = loswerden?

So dass nach Ausführen des Makros die Daten auf die beiden Spalten verteilt sind und die = weg sind???

Ein moment noch ratloser Werner


Anzeige
Re: Daten aus Zwischenablage kopieren...
13.05.2003 15:02:28
ANdreas

Hallo Werner,

mir scheint Du hast das Makro nicht richtig ausprobiert ;-)

Das "=" wird automatisch entfernt, da nur die Werte übertragen werden. Und es ist auch egal an welcher Stelle in der Tabelle Du die Liste einfügst, das Makro ist in der Hinsicht dynamisch. Es muss nur die eingefügte Liste markiert sein.

Hier noch ein kleiner Fehler korrigiert, so sollte es gehen:

Viel Spaß,
Andreas

Re: Daten aus Zwischenablage kopieren...
13.05.2003 15:06:22
Werner

Stimmt...das makro funktioniert in jeder Spalte.

Nur die = werden nicht weggelassen. Gibt's da noch einen trick?

Werner

Re: Daten aus Zwischenablage kopieren...
13.05.2003 15:10:00
Werner

Und einen Nachtrag bzw. Frage noch:

Gibt's da auch die Möglichkeit, dass beim Ordnen der Spalte noch eine Spalte dazwischen frei bleibt...also reinkopieren in A und dann Ordnen wie gehabt aber mit den Daten in A und C ?

Werner

---so das wär's und es kommen bestimmt auch keine Nachfragen mehr---

Anzeige
Re: Daten aus Zwischenablage kopieren...
13.05.2003 15:20:59
ANdreas

Hallo Werner,

um eine Spalte freizulassen, einfach "i Mod 2" durch
2 * (i Mod 2) ersetzen.
Also nochmal, das "=" vor der Zahl bleibt auf keinen Fall, da "nur" die Werte (.Value) übertragen werden. Ich denke mal das ist bei XP nicht anders. Oder ist das "=" nicht das erste Zeichen in der Zelle?

Andreas

Re: Daten aus Zwischenablage kopieren...
13.05.2003 15:24:50
Werner

Doch...das = ist das erste Zeichen. So steht's ja auch in jeder Zeile der anderen Anwendung (hier z.B. Outlook express).

=1
=2 usw.

Wenn ich das markiere, kopiere und in Excel einfüge, dann wird's ja auch so eingefügt

=1
=2 usw.

Und durch Dein Supergeniales-Makro (ist wirklich so gemeint)
wird's ja auch richtig geordnet, nämlich

=1 =2
=3 =4 usw.

Aber die = verschwinden halt nicht.


Werner

Anzeige
Re: Daten aus Zwischenablage kopieren...
13.05.2003 15:37:31
ANdreas

Hallo Werner,

scheint mir sehr ungewöhnlich zu sein, aber dann packen wir halt die Keule aus ;-)

Vor die Zeile i = 2, dann einfach folgende Zeile einfügen, dann werden alle "=" entfernt:
Selection.Replace What:="=", Replacement:="", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False

Viel Spaß,
Andreas

Re: Daten aus Zwischenablage kopieren...
13.05.2003 16:32:45
Werner

Hallo Andreas,

habe wohl etwas zu früh gesagt, dass ich nichts mehr schreiben will.

Habe die Änderungen vorgenommen und es erscheint folgende Fehlermeldung (muss dabei allerdings sagen, dass ich hier auf der Arbeit nur mit Excel 97 testen kann, erst nachher zuhause
kann ich's mit xp ausprobieren...für den Fall das es an der excel-version liegen sollte):

Laufzeitfehler 1004
Die Replace-methode des Range-Objektes ist fehlerhaft.

Werner

Anzeige
Vielleicht
13.05.2003 17:18:41
Wicky

Vielleicht liegts daran, daß der Zellwert "=10" automatisch als Formel definiert wird.


Re: Daten aus Zwischenablage kopieren...
13.05.2003 20:33:15
Werner

Falscher Alarm...lag nur an Excel 97.

Mit XP gibt's keine Fehlermeldung.

Gruß Werner

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige