Daten neu organisieren (Microsoft Excel)
Wenn Sie eine Datenliste in Excel importieren, ist es nicht ungewöhnlich, dass in Spalte A viele Daten gespeichert werden. Tatsächlich ist es nicht ungewöhnlich, dass in keiner der anderen Spalten etwas vorhanden ist. (Dies hängt natürlich alles von der Art der Daten ab, die Sie importieren.) Im Rahmen der Arbeit mit den Daten in Excel möchten Sie die Daten möglicherweise so „neu organisieren“, dass sie in mehr Spalten als nur Spalte A angezeigt werden .
Stellen Sie sich als Beispiel vor, Sie hätten Ihre Daten importiert und sie hätten die Zeilen 1 bis 212 der Spalte A belegt. Sie möchten wirklich, dass die Daten die Spalten A bis F belegen, unabhängig davon, wie viele Zeilen für die Daten erforderlich sind. Daher muss A2 nach B1, A3 nach C1, A4, nach D1, A5 nach E1, A6 nach F1 und dann nach A7 nach A2, A8 nach B2 usw. verschoben werden.
Um Daten auf diese Weise neu zu organisieren, können Sie das folgende Makro verwenden.
Wählen Sie die Daten aus, die Sie neu organisieren möchten, und führen Sie das Makro aus. Sie werden gefragt, wie viele Spalten die reorganisierten Daten enthalten sollen, und dann beginnt die Datenverschiebung.
Sub CompressData() Dim rSource As Range Dim rTarget As Range Dim iWriteRow As Integer Dim iWriteCol As Integer Dim iColCount As Integer Dim iTargetCols As Integer Dim J As Integer iTargetCols = Val(InputBox("How many columns?")) If iTargetCols > 1 Then Set rSource = ActiveSheet.Range(ActiveWindow.Selection.Address) If rSource.Columns.Count > 1 Then Exit Sub iWriteRow = rSource.Row + (rSource.Cells.Count / iTargetCols) iWriteCol = rSource.Column + iTargetCols - 1 Set rTarget = Range(Cells(rSource.Row, rSource.Column), _ Cells(iWriteRow, iWriteCol)) For J = 1 To rSource.Cells.Count rTarget.Cells(J) = rSource.Cells(J) If J > (rSource.Cells.Count / iTargetCols) Then _ rSource.Cells(J).Clear Next J End If End Sub
Das Makro überträgt Informationen, indem es zwei Bereiche definiert: den Quellbereich, den Sie beim Ausführen des Makros ausgewählt haben, und den Zielbereich, der durch die berechnete Größe basierend auf der Anzahl der gewünschten Spalten definiert wird. Der Quellbereich wird durch das rSource-Variablenobjekt und der Zielbereich durch rTarget dargestellt. Die For … Next-Schleife wird verwendet, um die Werte tatsächlich zu übertragen.
_Hinweis: _
Wenn Sie wissen möchten, wie die auf dieser Seite (oder auf einer anderen Seite der ExcelTips-Websites) beschriebenen Makros verwendet werden, habe ich eine spezielle Seite vorbereitet, die hilfreiche Informationen enthält.
ExcelTips ist Ihre Quelle für kostengünstige Microsoft Excel-Schulungen.
Dieser Tipp (2301) gilt für Microsoft Excel 97, 2000, 2002 und 2003. Eine Version dieses Tipps für die Multifunktionsleistenschnittstelle von Excel (Excel 2007 und höher) finden Sie hier: