Registriert seit: 10.04.2014
Version(en): 2016 + 365
Hallo,
ich will den Inhalt mehrerer Zellen miteinander verkettet in die Zwischenablage kopieren, damit ich sie in einem anderen Programm mit STRG-V einfügen kann.
In Zeile "loLetzte" die Zellen D, E, A und umgekehrtes Datum (getrennt mit "-") aus C
Trenner zwischen den Zellen: " - "
Wie mache ich das?
Zusatzfrage:
Wenn ich eine Variable füllen will mit
DokName = Range("D" & loLetzte) & "" - "" & Range("E" & loLetzte) & "" - "" & Range("A" & loLetzte) & "" - "" & Text(Range("C" & loLetzte), "JJJJ-MM-TT")
kommt für Text die Fehlermeldung "Sub oder Funktion nicht definiert".
Registriert seit: 16.08.2017
Version(en): 2007 / 2010 / Web
09.07.2019, 14:44
(Dieser Beitrag wurde zuletzt bearbeitet: 09.07.2019, 14:44 von Elex.)
Hi
dazu findet sich das im Netz.
Beachte den Hinweis im Code "Erfordert VBA-Verweis....."
Im Editor auf Extras -> Verweise
Code:
Public Sub Ablage()
'Erfordert VBA-Verweis auf "Microsoft Forms 2.0 Object Library" !
Dim i As Long
Dim objData As DataObject
Set objData = New DataObject
i = 3 'letzte Zeile
objData.SetText Range("D" & i).Value & " - " & Range("E" & i).Value & " - " & Range("A" & i).Value & " - " & Format(Range("C" & i), "YYYY-MM-DD")
objData.PutInClipboard
Set objData = Nothing
End Sub
Gruß Elex
Folgende(r) 1 Nutzer sagt Danke an Elex für diesen Beitrag:1 Nutzer sagt Danke an Elex für diesen Beitrag 28
• Rabe
Registriert seit: 10.04.2014
Version(en): 2016 + 365
Hallo,
danke,
ich hatte so einen Code auch und auch die Verweise überprüft, aber anscheinend nicht den Haken gesetzt.
Darum kam eine Fehlermeldung.
Wenn ich das Makro durchlaufen lasse und den Inhalt dann mit STRG-V einfüge, sehe ich im Excel dies, in anderen Programmen erscheinen 2 Fragezeichen:
Ich habe das Makro danach erweitert um eine Variable, die ich in einer Messagebox anzeigen lasse. Dort steht der Inhalt korrekt drin.
Option Explicit
Public Sub Ablage()
'Erfordert VBA-Verweis auf "Microsoft Forms 2.0 Object Library" !
Dim i As Long
Dim loLetzte As Long
Dim objData As DataObject
Dim DokName As String
Set objData = New DataObject
loLetzte = ActiveSheet.Cells(ActiveSheet.Rows.Count, "A").End(xlUp).Row
i = loLetzte 'letzte Zeile
objData.SetText Range("D" & i).Value & " - " & Range("E" & i).Value & " - " & Range("A" & i).Value & " - " & Format(Range("C" & i), "YYYY-MM-DD")
objData.PutInClipboard
Set objData = Nothing
DokName = Range("D" & i).Value & " - " & Range("E" & i).Value & " - " & Range("A" & i).Value & " - " & Format(Range("C" & i), "YYYY-MM-DD")
MsgBox DokName
End Sub
Registriert seit: 16.08.2017
Version(en): 2007 / 2010 / Web
Zitat:Wenn ich das Makro durchlaufen lasse und den Inhalt dann mit STRG-V einfüge
Also bei mir erscheint der Zellinhalt.
evtl. Excel Versions Problem.
Folgende(r) 1 Nutzer sagt Danke an Elex für diesen Beitrag:1 Nutzer sagt Danke an Elex für diesen Beitrag 28
• Rabe
Registriert seit: 29.09.2015
Version(en): 2030,5
09.07.2019, 16:01
(Dieser Beitrag wurde zuletzt bearbeitet: 09.07.2019, 16:01 von snb.)
PHP-Code:
Sub M_snb()
sn=cells(rows.count,1).end(xlup).resize(,5)
With GetObject("New:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}")
.SetText join(array(sn(1,4),sn(1,5),sn(1,1),format(sn(1,3),"yyyy-mm-dd")),"_")
.PutInClipboard
End With
End Sub
NB. Man sollte kein "-" als Trennzeichen in ein Datum und als Trennzeichen zwischen Fields verwenden
Folgende(r) 1 Nutzer sagt Danke an snb für diesen Beitrag:1 Nutzer sagt Danke an snb für diesen Beitrag 28
• Rabe
Registriert seit: 10.04.2014
Version(en): 2016 + 365
Hi snb,
danke, so funktioniert es!