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