Macro para multiplicar una fila

Tengo que hacer un sorteo en función de una cantidad de chances, el ejemplo sería el siguiente.

Juan 20

Pedro 10

Marcelo 4

Lo que necesito es que en la hoja datos juan figure repetido 20 veces, pedro 10 y así sucesivamente hasta finalizar la tabla.

Los nombres estan en la columna A y la cantidad de Chances en la B de la Hoja1

1 Respuesta

Respuesta

Prueba con este código y me avisas, esto siempre y cuando la lista de personas estén en una hoja llamada "Hoja1" y comiencen en la fila 2, porque hice referencia directamente a ellas. Utilice la variable tipo integer lo que indica que no deberían ser más de 32.767 registros los que estarías trabajando, si la lista en mayor a eso cambia el tipo de variable. Prueba y me avisas, puedes agregar más nombres en Hoja 1 igual debe funcionar:

Sub Repetir_Nombre()

Dim Nombre As String
Dim Chances, Lista, Cant As Integer

Application.CutCopyMode = False

Sheets("Hoja1").Select
Range("A1").Select
Cant = Selection.CurrentRegion.Rows.Count - 1
Lista = 1
For i = 1 To Cant
Nombre = Range("A" & i + 1)
Chances = Range("B" & i + 1)
Sheets("Hoja2").Select

For r = 1 To Chances
Range("A" & Lista) = Nombre
Lista = Lista + 1
Next
Range("A1").Select
Sheets("Hoja1").Select

Next

MsgBox ("Proceso Finalizado")
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas