Concatenare molte celle



  • Concatenare molte celle
    di Alex (utente non iscritto) data: 26/12/2013 12:32:24

    Dovrei concatenare un database di molte colonne in un unica colonna aggiungendo separando le celle originali da una virgola in automatico...ovvero :

    A B C D E
    1 store websites _attribute_set type = store,websites,_attribute_set,Type

    Spero sia chiaro quello di cui ho bisogno e facendolo con la funziona concatena non mi inserisce le virgole oppure con =A1&","&B1 diventa una cosa infinita .(


    Aiutooooo

    Grazie

    Alex




  • di isy data: 26/12/2013 13:14:43

    Ciao

    Con una formula: =ConcatenaEx(",";E10:K10)
    In Vba devi aggiungere la seguente funzione.

    Nota: questa funzione concatena i valori presenti nel range non le eventuali formattazioni.
    Servirebbe un esempio con dati da concatenare
     
    Option Explicit
    
    Function ConcatenaEx(sep As String, ParamArray rng())
    
      Dim r As Range
      Dim i As Integer
      Dim idx As Integer
      Dim sResult() As String
      Dim x As Long, y As Long
      idx = 0
      
      For i = 0 To UBound(rng)
          Set r = rng(i)
          For x = r.Row To r.Row + r.Rows.Count - 1
      
              For y = r.Column To r.Column + r.Columns.Count - 1
                  ReDim Preserve sResult(idx)
                  sResult(idx) = Sheets(rng(i).Parent.Name).Cells(x, y)
                  idx = idx + 1
              Next y
          Next x
      Next i
      
      Set r = Nothing
      ConcatenaEx = Join(sResult, sep)
    
    End Function
    



  • di Alex (utente non iscritto) data: 26/12/2013 13:55:01

    Ho allegato il file di prova :)

    Riusciresti ad inserire la macro per concatenare tutta la riga 1 nella colonna p separando i valori con una virgola'?

    Non sai quanto tempo mi sta facendo perdere :(

    Grazie ancora!!



  • di Alex (utente non iscritto) data: 26/12/2013 14:04:43

    Il file giusto è prova import ok :)



  • di Alex (utente non iscritto) data: 26/12/2013 14:16:53

    Okok sono riuscito da solo....davvero grazie mille per la dritta e buone feste :)

    Ciao

    Alex



  • di patel data: 26/12/2013 15:47:33

    da solo o grazie alla dritta ? sarebbe gentile da parte tua postare la soluzione definitiva dando un po' di soddisfazione a chi ti ha aiutato.






  • di Alex (utente non iscritto) data: 27/12/2013 01:12:58

    Hai ragione Patel :)

    Ho risolto grazie a Isy aggiungendo la sua funzione in Vba e usando la sua formula =ConcatenaEx(",";E10:K10).

    Quindi piena soddisfazione al mio aiutante :)

    Saluti

    Alex