Concatenare colonne variabili con loop
Hai un problema con Excel? 
Concatenare colonne variabili con loop?
di Danilo (utente non iscritto) data: 28/05/2013 14:54:54
Salve a tutti,
ho una necessità impellente e spero possiate aiutarmi.
Sto scrivendo una macro in excel e ad un certo punto mi ritrovo con un foglio di lavoro con righe ed colonne che possono variare a seconda dei dati input con la necessità di concatenare con un separatore le righe fino ad una cella bianca e fare un loop con le n colonne.
A B C D E F
1 a b c
2 a b
3 a b c d e
4 a b c d
risultato
a,b,c
a,b
a,b,c,d,e
a,b,c,d
....
di totygno71 data: 28/05/2013 15:25:48
Ciao Danilo
mmm a parte le necessità "Impellenti" ^_^ si puo vedere la macro che stai scrivendo?
di Danilo (utente non iscritto) data: 28/05/2013 15:27:13
mmm Devo mettermi a celare un pò di percorsi aziendali ehehe.
Se ci riesco nascondo e la posto.
Thx
di totygno71 (utente non iscritto) data: 28/05/2013 15:29:32
Si perchè non sei stato chiarissimo
di Danilo (utente non iscritto) data: 28/05/2013 16:28:13
http://s10.imagestime.com/out.php/i861573_Immagine.png
di Vecchio Frac data: 29/05/2013 22:03:45
Una propostina. Migliorabile :)
Option Explicit
Sub copy_with_commas()
Dim v As Range, c As Range, s As String, maxcol As Long
For Each v In [A:A]
s = ""
If Trim(v) = "" Then Exit For
For Each c In Range(v.EntireRow.Address)
If Trim(c) = "" Then Exit For
s = s & c & ","
Next
s = Left(s, Len(s) - 1)
If maxcol < c.Column Then maxcol = c.Column
Cells(c.Row, maxcol + 1) = s
Next
End Sub
|
di Vecchio Frac data: 30/05/2013 15:13:42
Ci ho giocato un po' :)
Il risultato finisce in colonna H (modificare questo riferimento per non sovrascrivere eventuali celle piene).
Option Explicit
Sub copy_with_commas2()
Dim r As Range, v As Variant
For Each r In [A1].CurrentRegion.Rows
v = Application.Transpose _
(Application.Transpose _
(Array _
(r.Resize(1, WorksheetFunction.CountA(r)))))
Cells(r.Row, "H") = Join(v, ",")
Next
End Sub |
Vuoi Approfondire?