Ayuda con la implementación en excel de macro para insertar datos aleatorios en celdas de una fila
Hola:
Quiero crear un macro que me sirva para:
Crear 6 números aleatorios entre 1 y 6, y colocarlos en 6 celdas dentro de una misma fila, añadiendo que el macro automáticamente los pegue como valores y así no cambien nuevamente; y que pueda seguir ejecutando el mismo macro en otra fila inferior sin que altere los números anteriores.
Ejemplo:
En la fila 1, crear 6 números aleatorios que aparezcan en cada casilla de esa fila, de izquierda a derecha (es decir, A1, B1, C1, D1, E1 y F1). Que queden fijos usando la opción copiar y pegar valores.
Pasar a la siguiente fila, la 2 y ejecutar el mismo macro pero para que ahora me provoque los números en esta fila 2 y no en la 1 (A2, B2, C2, D2, E2, F2). Y así sucesivamente las filas que necesite.
¿Alguien me puede ayudar?
A mí me ha salido algo c omo esto:
Sub Macro1()
'
' Macro1 Macro
'
' Acceso directo: CTRL+q
'
ActiveCell.FormulaR1C1 = "=RANDBETWEEN(1,6)"
Selection.AutoFill Destination:=Range("A1:F1"), Type:=xlFillDefault
Range("A1:F1").Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
End Sub
Pero me interesaría que el rango fuera abierto para que pudiera repetir el mismo macro en las filas siguientes.
Gracias por vuestra ayuda.
Quiero crear un macro que me sirva para:
Crear 6 números aleatorios entre 1 y 6, y colocarlos en 6 celdas dentro de una misma fila, añadiendo que el macro automáticamente los pegue como valores y así no cambien nuevamente; y que pueda seguir ejecutando el mismo macro en otra fila inferior sin que altere los números anteriores.
Ejemplo:
En la fila 1, crear 6 números aleatorios que aparezcan en cada casilla de esa fila, de izquierda a derecha (es decir, A1, B1, C1, D1, E1 y F1). Que queden fijos usando la opción copiar y pegar valores.
Pasar a la siguiente fila, la 2 y ejecutar el mismo macro pero para que ahora me provoque los números en esta fila 2 y no en la 1 (A2, B2, C2, D2, E2, F2). Y así sucesivamente las filas que necesite.
¿Alguien me puede ayudar?
A mí me ha salido algo c omo esto:
Sub Macro1()
'
' Macro1 Macro
'
' Acceso directo: CTRL+q
'
ActiveCell.FormulaR1C1 = "=RANDBETWEEN(1,6)"
Selection.AutoFill Destination:=Range("A1:F1"), Type:=xlFillDefault
Range("A1:F1").Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
End Sub
Pero me interesaría que el rango fuera abierto para que pudiera repetir el mismo macro en las filas siguientes.
Gracias por vuestra ayuda.
1 respuesta
Respuesta de bacter582
1