Ciao Alfax,
in A1:A90 ho una serie casuale di 90 numeri.
Esempio:
89
56
45
12
23
ecc...
Suddivido questa serie casuale in 6 gruppi da 15 numeri.
Voglio selezionare a mia scelta uno o più gruppi in base a una cella contatore.
Esempio:
in B1 ho la cella contatore = 2
La cella contatore mi indica il secondo gruppo dei 90 numeri, pari a 15 numeri
Voglio concatenare i numeri da A16:A30 in un'unica cella, separati da uno spazio.
Una cosa tipo questa:
36&" "&45&" "&23&" "...ecc
Avrei pensato di fare =CONCATENA(SCEGLI(B1;1° gruppo; 2° gruppo;ecc) ma non mi riesce.
Qualche idea?
Data la mia inclinazioni, ormai ben note, vorrei proporre una semplice UDF (Funzione utente):
'=========>>
Option Explicit
'--------->>
Function Concat(Rng As Range, _
Optional Contatore = 0, _
Optional sDelimiter = " ")
Dim r As Range
Dim arrIn As Variant, arrOut() As Variant
Dim sStr As String
Dim i As Long, iLen As Long, iOffset As Long
Application.Volatile
iLen = Rng.Cells.Count
iOffset = IIf(Contatore = 0, 0, Contatore - 1) * iLen
arrIn = Rng.Offset(iOffset).Value
For i = 1 To UBound(arrIn)
sStr = sStr & sDelimiter & arrIn(i, 1)
Next i
Concat = Mid(sStr, Len(sDelimiter) + 1)
End Function
'<<=========
La funzione ha un argomento di intervallo che definisce il primo blocco di celle nell'intervallo di interesse, verticalmente o orizzontalmente; un secondo argomento opzionale che definisce il numero del blocco di interesse e che può essere un indirizzo di
cella, un numero o una funzione che restituisce un numero; e una terza argomento che definisce il delimitatore per i valori concatenati.
Quindi, per blocchi di 15 celle dell'intervallo A1:A90, il primo argomento sarà sempre A1: A15; analogamente, per blocchi di 10 celle, il valore dell'argomento sarebbe A1: A10.
Il secondo argomento è facoltativo e, se omesso, la funzione concatenerà il primo blocco di celle.
Il terzo argomento è anche facoltativo e, se omesso, la funzione utilizzerà un carattere di spazio come delimitatore.di default,
Tipicamente la funzione verrebbe utilizata come, ad esempio:
=Concat(A1:A15;B2)
oppure
=Concat(A1:A15;2; "-")
Potresti scaricare il mio file di prova Alfax20161003.xlsm a:
https://www.dropbox.com/s/36r74ozpauv0lwv/Alfax20161003.xlsm?dl=0
===
Regards,
Norman
