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

Zellen kopieren und in bestimmtes Format bringen

Zellen kopieren und in bestimmtes Format bringen
05.06.2014 13:35:07
Franz
Guten Tag,
https://www.herber.de/bbs/user/91000.xlsx
wie kann ich möglichst ohne viele Schleifen zu benutzen die Werte von Tabelle1 in das gewünschte Format nach Tabelle2 kopieren?
Dabei ist die Anzahl der Zeilen in Tabelle1 dynamisch und somit auch die Spaltenanzahl der Tabelle2 variabel.
Herzliche Grüße
Franz

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zellen kopieren und in bestimmtes Format bringen
05.06.2014 13:57:02
Rudi
Hallo,
so?
Sub aaa()
Application.ScreenUpdating = False
Columns(2).SpecialCells(xlCellTypeBlanks).FormulaR1C1 = "=R[-1]C"
Range(Cells(1, 1), Cells(Rows.Count, 1).End(xlUp)).Resize(, 2).Copy
With Sheets(2).Cells(1, 1)
.PasteSpecial Paste:=xlValues, Transpose:=True
.PasteSpecial Paste:=xlFormats, Transpose:=True
End With
Columns(2).SpecialCells(xlCellTypeFormulas).ClearContents
End Sub

Gruß
Rudi

AW: Zellen kopieren und in bestimmtes Format bringen
05.06.2014 13:58:59
Klaus
Hallo Rudi,
du hast vergessen, die Reihenfolge noch "umzudrehen". Hier meine Lösung:

Sub GanzOhneSchleifen()
Const TabInput As String = "Tabelle1"
Const TabOutput As String = "Tabelle3"
Const AnzahlSpalten As Long = 2
Dim lRow As Long
With Sheets(TabInput)
lRow = .Cells(.Rows.Count, 1).End(xlUp).Row 'Spalte A bis zum Ende befüllt!
.Range("A1").Resize(lRow, AnzahlSpalten).Copy
End With
With Sheets("Tabelle3")
.Range("A1").PasteSpecial Transpose:=True
.Columns("A:A").Insert Shift:=xlToRight
.Range("A1:A" & AnzahlSpalten).FormulaR1C1 = "=row()"
.Range("A1:A" & AnzahlSpalten).Value = .Range("A1:A" & AnzahlSpalten).Value
.Sort.SortFields.Clear
.Sort.SortFields.Add Key:=.Range("A1:A" & AnzahlSpalten), SortOn:=xlSortOnValues, Order:= _
xlDescending, DataOption:=xlSortNormal
.Sort.SetRange .Range("A1").Resize(AnzahlSpalten, lRow)
With .Sort
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
.Columns("A:A").Delete Shift:=xlToLeft
End With
End Sub
Grüße,
Klaus M.vdT.

Anzeige
AW: Zellen kopieren und in bestimmtes Format bringen
05.06.2014 14:06:30
Rudi
Hallo,
hab ich glatt übersehen.
Sub aaa()
Application.ScreenUpdating = False
Columns(2).SpecialCells(xlCellTypeBlanks).FormulaR1C1 = "=R[-1]C"
Range(Cells(1, 1), Cells(Rows.Count, 1).End(xlUp)).Resize(, 2).Copy
With Sheets(2)
With .Cells(1, 1)
.PasteSpecial Paste:=xlValues, Transpose:=True
.PasteSpecial Paste:=xlFormats, Transpose:=True
End With
.Rows(2).Cut
.Rows(1).Insert
End With
Columns(2).SpecialCells(xlCellTypeFormulas).ClearContents
End Sub

Gruß
Rudi

AW: Zellen kopieren und in bestimmtes Format bringen
06.06.2014 07:36:03
Klaus
Hallo Rudi,
die Aufgabenstellung sagt auch, variable Spalten / Zeilenanzahl :-)
Ich bekomme es nur mit einer Schleife gelöst, oder eben mit dem "Sort" nach Hilfsspalte. Ich bezweifele aber, dass "Hilfsspalte erstellen, Hilfsformel schreiben, sortieren, Hilfsspalte löschen" noch einen Zeitvorteil gegenüber einer Schleife hat.
Kann man nicht den transponierten Zellenbereich in ein Array schreiben, und das Array dann umdrehen?
Grüße,
Klaus M.vdT.

Anzeige
AW: Zellen kopieren und in bestimmtes Format bringen
05.06.2014 14:27:26
Franz
Danke für die schnelle Antwort.
Aber es sollen die verschiedenen Werte in Spalte 1 (Tabelle1) jeweils nur 2x in Zeile 2 (Tabelle2) zu der passenden "Kategorie geschrieben werden.
Mit Copy Paste wird es in diesem Stil auch nicht gehen, da sich nur in der Beispieldatei die Daten in Spalte 1 und 2 befinden.
In der Originaldatei befinden sich die Daten in Spalte 1 und 9.
Habe es nochmal mit den veränderten Spalten angefügt.
https://www.herber.de/bbs/user/91002.xlsx
Herzliche Grüße
Franz

AW: Zellen kopieren und in bestimmtes Format bringen
05.06.2014 15:10:25
Franz
Oh entschuldigung, ich hab was übersehen.
Die Form in Tabelle2 sieht doch wie folgt aus
https://www.herber.de/bbs/user/91003.xlsx
Hoffe, dass mir einer bei dem Problem weiterhelfen kann.

Anzeige
AW: Zellen kopieren und in bestimmtes Format bringen
06.06.2014 10:37:58
Klaus
Hallo Franz,
es ist müßig, wenn sich die Aufgabenstellung mittendrin ändert. Bereits erstellte Lösungen (die ja auch Zeit gekostet haben) wandern dann unbeachtet auf den Müll. Mir ist auch unverständlich, warum jemand eine Musterdatei hochlädt die elementar anders ist als sein Master.
In der Originaldatei befinden sich die Daten in Spalte 1 und 9.
Bevor ich jetzt weiter mache:
sind die Spalten IMMER 1 + 9 ? Und sind es IMMER 2 Spalten? Im ersten Posting hast du noch von variablen Spaltenanzahlen gesprochen, jetzt sind sie fix.
Falls es nicht immer 1+9 sind, woran "erkennt" man die zu verschiebenden Spalten?
Die Bereiche dazwischen sind immer leer? In der Musterdatei sind sie leer.
Die Spalten haben tatsächlich keine Überschriften?
Die seltsamen Formatierungen in Tabelle 2 (die nicht mit Tab1 übereinstimmen!!!) sind Teil der Aufgabe, oder egal?
Dass in deiner Musterdatei der Inhalt von Tab2 nichts mit dem von Tab1 transponiert zu tuen hat sondern völlig zufällig ist (und aus irgendeinem Grund in Spalte F anfängt statt in Spalte A) ist Absicht? Dass Zeile 2 versetzt zu Zeile 1 in G anfängt und "Löcher" hat auch?
Ohne zuverlässige Musterdatei erarbeite ich hier keine weitere Lösung, dafür ist mir meine Zeit zu schade! Es würde auch helfen, wenn du weniger abstrakte (A, 1) Inhalte verwendest. Vielleicht sogar die Inhalte aus deinem Master, falls die nicht ganz geheim sind? Wenn wir verstehen was du bezwecken möchtest, ist es vielleicht einfacher über die vielen Logikfehler in der Aufgabenstellung und Musterdatei zu steigen.
Grüße,
Klaus M.vdT.
Anzeige

310 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige