Herbers Excel-Forum - das Archiv

Spalten nebeneinader kopieren

Bild

Betrifft: Spalten nebeneinader kopieren
von: Tina

Geschrieben am: 21.04.2005 14:21:08
Hallo an alle,
ich habe gerade folgendes Problem: Ich habe ein Excel-File mit 12 Blättern. Aus allen Blättern möchte ich die Spalte "N" auf das bis jetzt noch leere Blatt "Jahre" nebeneinander kopieren. Mein bisheriger Code kopiert jedoch die Spalten immer auf "A" und "A"+1 klappt nicht!
Hoffe Ihr könnt mir nochmal helfen.
Viele Grüße
Tina

Sub Tabellen()
Dim j As Integer
Dim dBlatt As String, m As String
Dim i As Integer
'Aus allen Datenblättern Mittelwerte entnehmen.
For j = 1 To 12
m = Application.Text(j, "00")
dBlatt = "co_" & m & "94"
Sheets(dBlatt).Select
Columns("N").Select
Selection.Copy
Sheets("Jahr").Select
Columns("A").Select
ActiveSheet.Paste
Next
End Sub

Bild

Betrifft: AW: Spalten nebeneinader kopieren
von: Reinhard

Geschrieben am: 21.04.2005 14:31:14
Hallo Tina,
Sub Tabellen()
Dim j As Integer
Dim dBlatt As String, m As String
Dim i As Integer
'Aus allen Datenblättern Mittelwerte entnehmen.
For j = 1 To 12
m = Application.Text(j, "00")
dBlatt = "co_" & m & "94"
Sheets(dBlatt).Select
Columns("N").Select
Selection.Copy
Sheets("Jahr").Select
Columns(j).Select
ActiveSheet.Paste
Next
End Sub

Viele Grüße
Bild

Betrifft: AW: Spalten nebeneinader kopieren
von: Tina
Geschrieben am: 21.04.2005 15:54:46
Vielen Dank jetzt hab ich mal wieder was gelernt!
Gruß Tina
Bild

Betrifft: wegen dem Lernen
von: Reinhard

Geschrieben am: 21.04.2005 23:25:00
Hallo Tina
auf Select kann man zu 99% verzichten.
anstatt
Sub Tabellen()
Dim j As Integer
Dim dBlatt As String, m As String
Dim i As Integer
'Aus allen Datenblättern Mittelwerte entnehmen.
For j = 1 To 12
m = Application.Text(j, "00")
dBlatt = "co_" & m & "94"
Sheets(dBlatt).Select
Columns("N").Select
Selection.Copy
Sheets("Jahr").Select
Columns(j).Select
ActiveSheet.Paste
Next
End Sub

mößte
Sub Tabellen()
Dim j As Integer
Dim dBlatt As String, m As String
Dim i As Integer
'Aus allen Datenblättern Mittelwerte entnehmen.
For j = 1 To 12
m = Application.Text(j, "00")
dBlatt = "co_" & m & "94"
Sheets(dBlatt).Columns("N").Copy
Sheets("Jahr").Columns(j).Select
ActiveSheet.Paste
Next
End Sub

das Gleiche tun, oder sogar so:
Sub Tabellen()
Dim j As Integer
Dim dBlatt As String, m As String
Dim i As Integer
'Aus allen Datenblättern Mittelwerte entnehmen.
For j = 1 To 12
m = Application.Text(j, "00")
dBlatt = "co_" & m & "94"
Sheets(dBlatt).Columns("N").Copy destination:=Sheets("Jahr").Columns(j)
Next
End Sub

aber copy mit destination und ich stehne auf Kriegssfuss miteinander, es will öfters nicht so wie ich :-()))
Viele Grüße
Reinhard
Bild

Betrifft: AW: wegen dem Lernen
von: Tina

Geschrieben am: 22.04.2005 14:55:33
Das ist aber nett von Dir.
Da kann ich ja noch einiges wegstreichen!
Vielleicht kannst Du mir auch noch zeigen, wie ich in der 3. Spalte anfangen kann. Hab es versucht mit "k=3 to 14" und hab mir ne "Endlos" Schleife gebastelt :-)
Gruß und schönes Wochenende.
Tina
Bild

Betrifft: AW: wegen dem Lernen
von: Tina
Geschrieben am: 22.04.2005 16:21:11
Ich habs hinbekommen :-)
 Bild
Excel-Beispiele zum Thema "Spalten nebeneinader kopieren"
Vorkommen von Zahlenreihen in Spalten Funktion ANZAHL2 ohne ausgeblendete Spalten
Spaltenbreite anpassen Spalten einer Mehrbereichsauswahl ausblenden.
Spaltennamen bestimmen Spalten/Zeilen aus- und einblenden
Zeilen und Spalten über ein Drehfeld ein- und ausblenden In einem Dialog ausgewählte Spalten drucken
Spalten bedingt summieren und Zellen formatieren Abfrage der markierten Spalten