Clever-Excel-Forum

Normale Version: Inhalt mehrerer Zellen verkettet in Zwischenablage kopieren
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
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".
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
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:
[attachment=25285]

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
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.
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
Hi snb,

danke, so funktioniert es!