Riorganizzazione dei dati

Se si importa un elenco di dati in Excel, non è insolito per finire con un sacco di dati in colonna A. In realtà, non è insolito avere nulla in nessuna delle altre colonne. (Tutto questo dipende dalla natura dei dati da importare, naturalmente.) Come parte del lavoro con i dati in Excel, si consiglia di "riorganizzazione" i dati in modo che si è fatto in più colonne di una semplice colonna A .

A titolo di esempio, immaginare che hai importato i dati, e ha finito per occupare righe da 1 a 212 della colonna A. Che cosa si vuole veramente è per i dati di occupare le colonne da A a F, d'altronde molte righe sono necessarie per contenere i dati. Così, A2 deve essere spostato a B1, A3 a C1, A4, alla D1, A5 a E1, A6 di F1, e poi A7 ad A2, A8 a B2, etc.

Per riorganizzare i dati in questo modo, è possibile utilizzare la seguente macro. Selezionare i dati che si desidera riorganizzare, e quindi eseguire la macro. Viene chiesto il numero di colonne desiderate nei dati riorganizzate, e poi inizia lo spostamento dei dati.

Sub CompressData ()
Dim rSource come gamma
Dim rTarget come gamma
Dim iWriteRow As Integer
Dim iWriteCol As Integer
Dim iColCount As Integer
ITargetCols Dim As Integer
Dim J As Integer

iTargetCols = Val (InputBox ("Quanti colonne?"))
Se iTargetCols> 1 allora
Set rSource = ActiveSheet.Range (ActiveWindow.Selection.Address)
Se rSource.Columns.Count> 1 Then Exit Sub

iWriteRow = rSource.Row + (rSource.Cells.Count / iTargetCols)
iWriteCol = rSource.Column + iTargetCols - 1
Set rTarget = Gamma (Cells (rSource.Row, rSource.Column), _
Cells (iWriteRow, iWriteCol))

Per J = 1 Per rSource.Cells.Count
rTarget.Cells (J) = rSource.Cells (J)
Se J> (rSource.Cells.Count / iTargetCols) Poi _
rSource.Cells (J) .Clear
Successivo J
End If
End Sub

Le informazioni trasferimenti macro definendo due gamme: la gamma sorgente selezionata durante l'esecuzione della macro e della zona del traguardo definito dalla dimensione calcolata in base al numero di colonne che si desidera. La gamma di origine è rappresentata dall'oggetto variabile rSource, e la fascia obiettivo per rTarget. Il ciclo For ... Next viene utilizzato per trasferire realmente i valori.

ExcelTips è la vostra fonte per la formazione Microsoft Excel conveniente. Questo suggerimento (8188) si applica a Microsoft Excel 2007, 2010 e 2013. Potete trovare una versione di questo suggerimento per l'interfaccia del menu precedente di Excel qui: Riorganizzazione dei dati.