
Come da titolo ho una colonna excell contenente 20 dati ( testo+ valori, ma non formule) nel range A1:A20 e li devo trasporre in righe successive a partire dalla C1. I dati che ho nella colonna A sono sempre 20 righe e li sostituisco ogni volta .
Ho trovato questa macro che funziona bene nel senso della trasposizione ma non mi fa l'accodamento successivo verso il basso , ovvero se C1..<>0, vai a C2 etc.
Dubbio : ma essendo stringhe non è che <> non funzioni , ovvero richieda un valore numerico ? Boh .
comunque ecco qua il codice .
- Codice: Seleziona tutto
Sub DaColonnaATabella()
'Copia i dati da ColannaBase in una tabella a fianco di quaranta colonne
Dim ColonnaBase As Integer, RigaIniziale As Integer, RigaFinale As Integer
Dim Riga As Integer, Colonna As Integer, RigaDestinazione As Integer
Dim ColonnaDestinazione As Integer, r As Integer, c As Integer, nColonne As Integer
ColonnaBase = 1 'presuppone i dati siano in colonna A, eventualmente cambiare
RigaIniziale = 1 'presuppone i dati partano da riga 1, eventualmente cambiare
RigaDestinazione = 1 'presuppone i dati vengano incollati a partire da riga 1,
'eventualmente cambiare
ColonnaDestinazione = 3 'presuppone i dati vengano incollati a partire da colonna 3
'eventualmente cambiare
nColonne = 20 'numero di colonne nella tabella di destinazione
Riga = RigaIniziale
r = RigaDestinazione
RigaFinale = Cells(Cells.Rows.Count, ColonnaBase).End(xlUp).Row
Do While Riga <= RigaFinale
For c = ColonnaDestinazione To (ColonnaDestinazione + nColonne - 1)
Cells(r, c) = Cells(Riga, ColonnaBase)
Riga = Riga + 1
Next
r = r + 1
Loop
End Sub