Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Kopieren Spalte inkl. Textfarbe per Makro?

Kopieren Spalte inkl. Textfarbe per Makro?
09.06.2016 07:52:38
Juliane
Hallo,
ich würde gern ein Spalte von einem Reiter in den anderen kopieren. Für einen Teil der Spalten habe ich es so gemacht, dass ich für die Ausgangsspalte (Quelle) einen Bereichsnamen festgelegt habe und in der Zielspalte auf diesen per Formel verweise.
Jetzt habe ich aber das Problem, dass ich eine Spalte inklusive ihres Formats (insbesondere der Schriftfarbe) kopieren muss. Wie ich gelernt habe, geht das in Excel nicht per Formel. wer kann mir also einen Tipp geben wie ich die Spalte per Makro kopieren kann?
Vielen Dank im Voraus
VG

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Kopieren Spalte inkl. Textfarbe per Makro?
09.06.2016 08:35:39
Michael
Hallo!
Hier mal zwei schematische Varianten:
Sub SpalteKopieren()
Dim Ws As Worksheet
Dim Ziel As Range
Set Ws = ThisWorkbook.Worksheets("Tabelle1")
'Einen Bereich in einer Spalte kopieren, bspw.
'A1:Ax (x = letzte gefüllte Zelle in A:A)
With Ws
Set Ziel = .Range("D7")
.Range("A1:A" & .Cells(.Rows.Count, 1).End(xlUp).Row).Copy
With Ziel
.PasteSpecial xlPasteValues 'Werte
.PasteSpecial xlPasteFormats 'Formate
End With
End With
'Ganze Spalte kopieren
With Ws
Set Ziel = .Range("D1")
.Columns("A:A").Copy
With Ziel
.PasteSpecial xlPasteValues 'Werte
.PasteSpecial xlPasteFormats 'Formate
End With
End With
End Sub
LG
Michael

Anzeige
AW: Kopieren Spalte inkl. Textfarbe per Makro?
09.06.2016 08:44:50
Juliane
SUper, danke, ich probiere es mal aus.

AW: Kopieren Spalte inkl. Textfarbe per Makro?
09.06.2016 08:55:28
Juliane
Hallo Michale,
kannst du mir bitte helfen, wo ich was eintragen soll?
- Mein Ziel-Reiter heißt "MP-Punkte" : habe ich den an der richtigen stellen eingefügt?
- Die Spalte im Ziel-Reiter ist F : die erste Zelle davon ist "F8"; d. h. abdort soll eingefügt werden
- Wie gebe ich denn den Namen des Quellreiters an?
Sub SpalteKopieren()
Dim Ws As Worksheet
Dim Ziel As Range
Set Ws = ThisWorkbook.Worksheets("MP_Punkte")
With Ws
Set Ziel = .Range("F8")
.Range("A1:A" & .Cells(.Rows.Count, 1).End(xlUp).Row).Copy
With Ziel
.PasteSpecial xlPasteValues 'Werte
.PasteSpecial xlPasteFormats 'Formate
End With
End With
End Sub

Anzeige
AW: Kopieren Spalte inkl. Textfarbe per Makro?
09.06.2016 09:09:36
Michael
Hallo!
Mit Kommentaren:
Sub SpalteKopieren()
Dim QuellBlatt As Worksheet
Dim ZielBlatt As Worksheet
Dim ZielZelle As Range
'Blätter bestimmen
With ThisWorkbook
Set QuellBlatt = .Worksheets("Tabelle1") 'anpassen
Set ZielBlatt = .Worksheets("MP-Punkte") 'evtl. anpassen
Set ZielZelle = ZielBlatt.Range("F8") 'evtl. anpassen
End With
'Quell-Bereich (hier A1:Ax) im o.a. Quellblatt kopieren
'Bereich ggf. anpassen
QuellBlatt.Range("A1:A" & .Cells(.Rows.Count, 1).End(xlUp).Row).Copy
With ZielBlatt
Set Ziel = .Range("F8")
'Werte und Formate einfügen
With ZielZelle
.PasteSpecial xlPasteValues 'Werte
.PasteSpecial xlPasteFormats 'Formate
End With
End With
End Sub
LG
Michael

Anzeige
AW: Kopieren Spalte inkl. Textfarbe per Makro?
09.06.2016 09:27:49
Juliane
Hallo Michael, ich habe alles angepasst. Ich erhalte jetzt die Fehlermeldung: "Fehler beim Kompilieren: unzulässiger oder nciht ausreichend definierter Verweis"
Kannst du dir das erklären?
Sub SpalteKopieren()
Dim QuellBlatt As Worksheet
Dim ZielBlatt As Worksheet
Dim ZielZelle As Range
'Blätter bestimmen
With ThisWorkbook
Set QuellBlatt = .Worksheets("Reiter 2 Liste MP-O gefiltert") 'anpassen
Set ZielBlatt = .Worksheets("MP-Punkte") 'evtl. anpassen
Set ZielZelle = ZielBlatt.Range("F8") 'evtl. anpassen
End With
'Quell-Bereich (hier A1:Ax) im o.a. Quellblatt kopieren
'Bereich ggf. anpassen
QuellBlatt.Range("J2:J" & .Cells(.Rows.Count, 1).End(xlUp).Row).Copy
With ZielBlatt
Set Ziel = .Range("F8")
'Werte und Formate einfügen
With ZielZelle
.PasteSpecial xlPasteValues 'Werte
.PasteSpecial xlPasteFormats 'Formate
End With
End With
End Sub

Anzeige
AW: Kopieren Spalte inkl. Textfarbe per Makro?
09.06.2016 09:59:31
Michael
Hallo Juliane!
Ja, sorry, ich hab mich verschrieben bzw. was unterschlagen. Hier
Set Ziel = .Range("F8")
muss es eigentlich
Set ZielZelle = .Range("F8")
heißen.
Sollte jetzt klappen
LG
Michael

Nochmals Blödsinn, jetzt richtig...
09.06.2016 10:02:55
Michael
Hi,
sorry, ich hab da geschusselt - die Zeile kann sowieso raus. So sollte es im Ganzen stimmen:
Sub SpalteKopieren()
Dim QuellBlatt As Worksheet
Dim ZielBlatt As Worksheet
Dim ZielZelle As Range
'Blätter bestimmen
With ThisWorkbook
Set QuellBlatt = .Worksheets("Reiter 2 Liste MP-O gefiltert") 'anpassen
Set ZielBlatt = .Worksheets("MP-Punkte") 'evtl. anpassen
Set ZielZelle = ZielBlatt.Range("F8") 'evtl. anpassen
End With
'Quell-Bereich (hier A1:Ax) im o.a. Quellblatt kopieren
'Bereich ggf. anpassen
QuellBlatt.Range("J2:J" & .Cells(.Rows.Count, 1).End(xlUp).Row).Copy
With ZielBlatt
'Werte und Formate einfügen
With ZielZelle
.PasteSpecial xlPasteValues 'Werte
.PasteSpecial xlPasteFormats 'Formate
End With
End With
End Sub
LG
Michael

Anzeige
AW: Nochmals Blödsinn, jetzt richtig...
09.06.2016 10:12:46
Juliane
Hallo Michael,
ich habe es 1:1 kopiert diesmal. Leider erhalte ich den gleichen Fehler. Der debugger markeirt _ mir gleich die erste Zeile "

Sub ..." gelb

Sub SpalteKopieren()
Dim QuellBlatt As Worksheet
Dim ZielBlatt As Worksheet
Dim ZielZelle As Range
'Blätter bestimmen
With ThisWorkbook
Set QuellBlatt = .Worksheets("Reiter 2 Liste MP-O gefiltert") 'anpassen
Set ZielBlatt = .Worksheets("MP-Punkte") 'evtl. anpassen
Set ZielZelle = ZielBlatt.Range("F8") 'evtl. anpassen
End With
'Quell-Bereich (hier A1:Ax) im o.a. Quellblatt kopieren
'Bereich ggf. anpassen
QuellBlatt.Range("J2:J" & .Cells(.Rows.Count, 1).End(xlUp).Row).Copy
With ZielBlatt
'Werte und Formate einfügen
With ZielZelle
.PasteSpecial xlPasteValues 'Werte
.PasteSpecial xlPasteFormats 'Formate
End With
End With
End Sub

Anzeige
So, aber jetzt...
09.06.2016 10:38:18
Michael
Juliane,
...ich sollte das nicht nebenbei machen ;-)
Sub SpalteKopieren()
Dim QuellBlatt As Worksheet
Dim ZielBlatt As Worksheet
Dim ZielZelle As Range
'Blätter bestimmen
With ThisWorkbook
Set QuellBlatt = .Worksheets("Reiter 2 Liste MP-O gefiltert") 'anpassen
Set ZielBlatt = .Worksheets("MP-Punkte") 'evtl. anpassen
Set ZielZelle = ZielBlatt.Range("F8") 'evtl. anpassen
End With
'Quell-Bereich (hier A1:Ax) im o.a. Quellblatt kopieren
'Bereich ggf. anpassen
With QuellBlatt
.Range("J2:J" & .Cells(.Rows.Count, 1).End(xlUp).Row).Copy
End With
With ZielBlatt
'Werte und Formate einfügen
With ZielZelle
.PasteSpecial xlPasteValues 'Werte
.PasteSpecial xlPasteFormats 'Formate
End With
End With
End Sub
LG
Michael

Anzeige
AW: So, aber jetzt...
09.06.2016 12:41:46
Juliane
Super. Hat geklappt. Besten Dank dafür!

Freut mich! LG owT
09.06.2016 13:06:02
Michael

317 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige