Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
888to892
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
888to892
888to892
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Formatierte Zelleninalte las Text kopieren ?

Formatierte Zelleninalte las Text kopieren ?
17.07.2007 21:29:00
Selma
Hallo Leute,
was muss ich an meinem Code verändern, damit alle Zelleninhalte (ab Zeile 2) der Spalte C wie dargestellt nach Spalte T (ab Zeile 2) kopieren werden können?
Also die Zelleninahalte der Spalte C sollen beim Kopieren die Form JJJJ-MM-TT beibehalten.
Die Zellen in Spalte C sind so formatiert: JJJJ-MM-TT
Die Zellen in Spalte T sind als Text formatiert.
Ich habe es so probiert, leider steht in Spalte T dies "39227" anstatt "2007-05-25" :
Option Explicit

Sub Copy_C_to_T()
Dim Letzte_In_C As Long
Letzte_In_C = Range("C65536").End(xlUp).Row
Range("C2:C" & Letzte_In_C).Select
Selection.Copy
Range("T2").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
End Sub


Vielen Dank im Voraus...
Liebe Grüße
Selma

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

Betreff
Datum
Anwender
Anzeige
AW: Formatierte Zelleninalte las Text kopieren ?
17.07.2007 21:32:37
Hajo_Zi
Hallo Selma,
sind es Formel in Spalte C, falls Nein

Sub Copy_C_to_T()
Dim Letzte_In_C As Long
Letzte_In_C = Range("C65536").End(xlUp).Row
Range("C2:C" & Letzte_In_C).Copy Range("T2")
End Sub


Falls Ja formatiere den Zellen nach dem kopieren.

AW: Formatierte Zelleninalte las Text kopieren ?
17.07.2007 21:50:00
Selma
Hallo Hajo,
ich füge eine Beispieldatei mit zwei AB (VORHER / NACHHER) bei : https://www.herber.de/bbs/user/44184.xls
In Spalte U habe ich Formeln. In meine Bepieldatei steht z.B. in U2 dies:
mkdir "BTW GmbH\39227"
anstatt
mkdir "BTW GmbH\2007-05-25"
LG
Selma

Anzeige
AW: Formatierte Zelleninalte las Text kopieren ?
17.07.2007 21:54:11
Daniel
Hi
ich weiß nicht, ob Excel 2000 die Funktion schon kennt, aber ab Excel XP kann man es so machen:

Selection.PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _
xlNone, SkipBlanks:=False, Transpose:=False


sollte das in deiner Excelversion nicht funktionieren, musst du halt einfach in 2 Schritten erst die Werte (mit Paste:=xlPasteValues) und im 2. Schritt die Formate kopieren (mit Paste:=xlPasteFormats)
Hier nochmal als Code, damit du gleich siehst, wie man sowas richtig schreibt (nämlich ohne SELECT)


Range("C2:C" & Letzte_In_C).Copy
Range("T2").PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:=False, Transpose:= _
False
Range("C2:C" & Letzte_In_C).Copy
Range("T2").PasteSpecial Paste:=xlFormats, Operation:=xlNone, SkipBlanks:=False, Transpose:=False


Gruß, Daniel

Anzeige
AW: Formatierte Zelleninalte las Text kopieren ?
17.07.2007 22:08:04
Selma
Hallo Daniel,
dein erster Code funktioniert leider nicht mit meiner Excelversion.
Mit zweitem Code sieht das Ergebnis wie in Arbeitsblatt "VORHER" meiner Beispieldatei,
und damit auch das Formelergebnis in Spalte U2 nicht so: mkdir "BTW GmbH\2007-05-25"
Die Zellenformatierung in Spalte T soll als "Text" sein, damit in Spalte U die Formeln richtig dargestellt werden.
Beispiel U2:
mkdir "BTW GmbH\2007-05-25"
LG
Selma

AW: Formatierte Zelleninalte las Text kopieren ?
17.07.2007 22:30:37
Daniel
Hallo
Ach so, du brauchst also keine Datumswerte in Spalte T sondern echte Texte für die weitere Verarbeitung.
da gibts im Prinzip 2 möglichkeiten.
Variante A:
du kopierst nach Spalte T die echten Datumswerte.
Wenn du mit diesen Werten als Text weiterarbeiten willst, Formatierst du sie per Funktion in Text um.
per VBA: =Format("Range("T2").value, "YYYY-MM-DD")
per Excel-Formel: =Text(T2, "JJJJ-MM-TT")
Variante B:
du wandelst beim Kopieren die Datumswerte in echte Text um, indem du zum Kopieren dieses Makro verwendest:

Sub Copy_C_to_T()
Dim Letzte_In_C As Long
Dim arr
Dim i As Long
Letzte_In_C = Range("C65536").End(xlUp).Row
arr = Range("C2:C" & Letzte_In_C).Value
For i = 1 To UBound(arr, 1)
arr(i, 1) = Format(arr(i, 1), "'YYYY-MM-DD")
Next
Range("T2").Resize(UBound(arr, 1), UBound(arr, 2)).Formula = arr
End Sub


Gruß, Daniel

Anzeige
Danke Daniel, jetzt funktioniert es wie gewollt ;)
17.07.2007 22:37:00
Selma
Danke Daniel
Liebe Grüße
Selma

306 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige