Stampa di una singola colonna in più colonne (Microsoft Excel)
A volte i dati raccolti in un foglio di lavoro si adattano molto bene a una singola colonna. Ad esempio, potresti avere un elenco di nomi e sono tutti contenuti nella colonna A del tuo foglio di lavoro. Quando scegli di stampare il foglio di lavoro, può occupare parecchie pagine, tutte quasi vuote poiché il lato sinistro di ogni pagina contiene un nome e il lato destro contiene uno spazio bianco.
In questo tipo di istanza, sarebbe bello stampare la singola colonna come se fosse più colonne. In questo modo potresti usare più pagine stampate e meno pagine complessive per il tuo lavoro di stampa. Sfortunatamente Excel non contiene alcun comando intrinseco o impostazione di stampa che ti consenta di riformattare automaticamente i tuoi dati in modo che vengano stampati meglio. Tuttavia, esistono soluzioni alternative.
Una soluzione alternativa che viene spesso trascurata è semplicemente copiare l’elenco a colonna singola in un documento di Word vuoto. Se lo incolli lì come testo normale, puoi formattare ogni pagina per più colonne e stampare effettivamente le informazioni.
Se preferisci non coinvolgere Word, puoi tagliare e incollare le informazioni dalla prima colonna in altre colonne per fornire il numero desiderato di colonne di stampa. Questo, ovviamente, dovrebbe essere fatto in un nuovo foglio di lavoro o cartella di lavoro, in modo che i dati originali rimangano indisturbati. Ad esempio, se hai 200 nomi nell’elenco originale, puoi tagliare 40 nomi alla volta dall’elenco e incollarli nelle colonne dalla A alla E di un nuovo foglio di lavoro. La stampa di questo foglio di lavoro richiede meno pagine rispetto alla stampa del foglio di lavoro a colonna singola originale.
Ovviamente, se devi fare questo taglia e incolla spesso, il lavoro di routine può diventare rapidamente noioso. In questo caso, puoi usare una macro che fa esattamente la stessa cosa: taglia e taglia l’elenco originale e lo incolla in un numero di colonne su una nuova cartella di lavoro.
Sub SingleToMultiColumn() Dim rng As Range Dim iCols As Integer Dim lRows As Long Dim iCol As Integer Dim lRow As Long Dim lRowSource As Long Dim x As Long Dim wks As Worksheet Set rng = Application.InputBox _ (prompt:="Select the range to convert", _ Type:=8) iCols = InputBox("How many columns do you want?") lRowSource = rng.Rows.Count lRows = lRowSource / iCols If lRows * iCols <> lRowSource Then lRows = lRows + 1 Set wks = Worksheets.Add lRow = 1 x = 1 For iCol = 1 To iCols Do While x <= lRows And lRow <= lRowSource Cells(x, iCol) = rng.Cells(lRow, 1) x = x + 1 lRow = lRow + 1 Loop x = 1 Next End Sub
Quando esegui questa macro, ti viene chiesto di selezionare l’intervallo che desideri convertire, quindi ti viene chiesto di specificare il numero di colonne in cui desideri che venga riformattato. Crea un nuovo foglio di lavoro nella cartella di lavoro corrente e copia le informazioni dall’originale in tutte le colonne specificate.
Per ulteriori risorse per risolvere questo problema, fare riferimento ai seguenti siti Web:
http://www.ozgrid.com/VBA/MiscVBA.htm#Print http://www.mvps.org/dmcritchie/excel/snakecol.htm
ExcelTips è la tua fonte di formazione economica su Microsoft Excel.
Questo suggerimento (2219) si applica a Microsoft Excel 97, 2000, 2002 e 2003. Puoi trovare una versione di questo suggerimento per l’interfaccia a nastro di Excel (Excel 2007 e versioni successive) qui: