Ciao a tutti.
sulla colonna A ho delle stringhe di testo e sulla colonna B il numero di volte che si ripetetono.
Il mio obiettivo è quello di poter ripetere le singole stringhe presenti su A su un'altra colonna (ad esempio su C a partire da C2) in maniera sequenziale per un numero di volte pari al loro valore adiacente (colonna B).
Per la soluzione preferirei una formula in quanto mi è più facile da gestire.
Grazie a tutti,
A.
https://skydrive.live.com/redir.aspx?cid=dd405b0d5a6097c5&resid=DD405B0D5A6097C5!127&parid=root
file: Ripeti_stringhe
Con vb è una sciocchezza.
Public Sub m()
Dim lRigheA As Long
Dim lRigheB As Long
Dim lRiga As Long
Dim c As Range
Dim rng As Range
Dim lng As Long
Dim lVolte As Long
With ActiveSheet
lRigheA = .Range("A" & .Rows.Count).End(xlUp).Row
lRigheB = .Range("D" & .Rows.Count).End(xlUp).Row
.Range("D2:D" & lRigheB).ClearContents
lRiga = 2
Set rng = .Range("A2:A" & lRigheA)
For Each c In rng
lVolte = c.Offset(0, 1).Value
For lng = 1 To lVolte
.Cells(lRiga, 4).Value = c.Value
lRiga = lRiga + 1
Next
Next
End With
Set rng = Nothing
Set c = Nothing
End Sub
Da copia incollare in un modulo standard. Corregge anche l'errore che c'è nell'esempio che hai fatto... ;-), per quello metto il risultato in D, in modo che tu possa controllare. Se lo vuoi in C, Sostituisci D con C nella macro e modifica qui:
.Cells(lRiga, 4).Value = c.Value
così
.Cells(lRiga, 3).Value = c.Value