Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1952to1956
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

gemessene Zeiten in die Zwischenablage übertragen

gemessene Zeiten in die Zwischenablage übertragen
21.11.2023 13:07:14
Borkel
Guten Tag,
ich bin kein VBA Experte und verwende nur hin und wieder den Makro Recorder. Damit kann ich aber mein momentanes Problem nicht lösen. Deshalb hier mein Hilferuf:

Mit einer Zeitmessanlage und einer PC Stoppuhr messe ich die Laufzeiten bei Sportveranstaltungen. Die Stoppuhr schreibt mir die gemessenen Zeiten immer in die Zelle A1 einer Excel Tabelle. Das funktioniert prima. Wenn ich die Zelle A1 aktiviere und Str+C drücke, kann ich die Zeit in die Zwischenablage kopieren.
Ein anderer Rechner im Netzwerk kann diese dann mit Str+V in das jeweilige Auswerteprogramm übernehmen. So weit, so gut.
Bei einem Turnier habe ich mehrere Dinge zu koordinieren und es bereitet mir Stress immer im richtigen Augenblick Str+C zu drücken. Deshalb habe ich versucht diesen Vorgang mit dem Makro Recorder aufzunehmen. Die so erzeugten Makros tun aber nicht das was sie sollen. Die Zeiten kommen nicht in der Zwischenablage an.
Also immer wenn die Stoppuhr einen neuen Wert in A1 schreibt, soll dieser automatisch in die Zwischenablage geschrieben werden. Kann mir da jemand helfen?
Vielen Dank!

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

Betreff
Datum
Anwender
Anzeige
AW: gemessene Zeiten in die Zwischenablage übertragen
21.11.2023 14:22:56
Sigi.21
Hallo,

dazu muss man nicht VBA-Experte sein:
Range("A1").copy

Gruß Sigi
AW: gemessene Zeiten in die Zwischenablage übertragen
21.11.2023 17:37:59
Borkel
Hallo Sigi,
das funktioniert so leider nicht, das hatte ich auch schon probiert.
Danke!
Werner
AW: gemessene Zeiten in die Zwischenablage übertragen
21.11.2023 18:58:47
Sigi.21
Hallo,

bei mir geht das!
Kopiere mal über das Makro und füge es dann wieder irgend wo mit Strg + V wieder ein.
(Ich weiß ja nicht, was dein Makro sonst noch alles macht und dadurch die Zwischenablage löscht oder mir anderem Inhalt überschreibt.)


Gruß Sigi
https://www.herber.de/bbs/user/164492.xlsm
AW: gemessene Zeiten in die Zwischenablage übertragen
23.11.2023 08:45:17
Borkel
Hallo Sigi, ich bekomme das einfach nicht hin. Kannst Du mir evt. mal das komplette Makro, so wie Du es unter Tabelle eingefügt hast schicken, damit ich es ausprobieren kann. Bei mir funktioniert das immer nur wenn ich die Zelle kennzeichne und Str+C drücke. Wenn ich das Makro in den Code zur Tabelle einfüge, steht in der Zwischenablage der Text des Makros aber nicht die eingetragene Zeit.
Danke, Werner
Anzeige
AW: gemessene Zeiten in die Zwischenablage übertragen
23.11.2023 09:13:09
daniel
Hi
das Makro zum Kopieren des Zellinhaltes muss ins ChangeEvent-Makro des Tabellenblatts.
das wird automatisch aktiv, wenn sich ein Zellwert ändern.

wenn also du die Zeit in die Zelle A1 geschrieben bekommst, brauchst du folgendes Makro im Modul des Tabellenblatts.

Private Sub Worksheet_Change(ByVal Target As Range)

If Not Intersect(Target, Range("A1")) Is Nothing Then
Range("A1").Copy
End If
End Sub


das .Copy füllt die Excelzwischenablage und es sollte die Windowszwischenablage ebenfalls befüllen.
sollte das nicht passieren, gibt es noch einen zweiten Weg, einen Inhalt in die Windowszwischenablage zu schreiben, hierzu ist allerdings eine kleine Vorbereitung notwendig:
- du musst über Extras - Verweise den Verweis auf die "Microsoft Forms 2.0 Object Library" aktivieren.
dieser Verweis wird automatisch erzeugt, wenn deine Datei einer Userform mit einer Textbox enthält (ob eine ActiveX-Textbox auf dem Tabellenblatt auch ausreicht, weiß ich nicht, müsste man mal testen.)

dann dieser Code, um den Zellwert in die zwischenablage zu schreiben.
ob du dann aber den normalen Zellwert (.Value) oder besser den Formatieren Zellwert (.Text) nimmst, musst du ausprobieren.

Private Sub Worksheet_Change(ByVal Target As Range)

Dim myData As DataObject
Set myData = New DataObject

If Not Intersect(Target, Range("A1")) Is Nothing Then
myData.SetText Range("A1").Value
myData.PutInClipboard
End If
End Sub


Gruß Daniel
Anzeige
AW: gemessene Zeiten in die Zwischenablage übertragen
23.11.2023 14:15:31
Borkel
Hallo Daniel,
vielen Dank, dass war die Lösung. Die erste Variante hat nur innerhalb des gleichen Tabellenblattes funktioniert. Da konnte ich den von der Uhr eingefügten Wert auch wieder mit Strg+V richtig einfügen. Bei einer anderen Anwendung, z.B. beim Einfügen in das Auswerteprogramm wurde mit Strg+V wieder der Text des Makros eingefügt.

Für die zweite Lösung habe ich wie von Dir beschrieben eine User Form mit Textbox eingefügt und Value in Text geändert. Das funktioniert perfekt.
Das nimmt mir eine ganze Menge Stress, ich bin begeistert. Darauf die User Form zu verwenden wäre ich nie allein gekommen.
Nochmal vielen Dank!

Werner
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige