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.

1 respuesta

Respuesta
1
Solo te faltaba la referencia relativa desde la activecell
Te dejo la macro modificada.
Saludos
No olvides finalizar la pregunta.
Sub aleatorios()
'
' Macro1 Macro
'
' Acceso directo: CTRL+q
'
    ActiveCell.FormulaR1C1 = "=aleatorio.entre(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

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas