Compartir a través de

Macro con problema

Anónimas
2019-02-21T22:58:38+00:00

Sub Macro1()

    Sheets("hoja1").Cells.Copy Sheets("hoja2").Range("A1")

    Cells.Copy.Range("A1").Value.Range("A1") = Value

End Sub

Se producce el error 424 en la segunda linea, diciendo: "Se require un objeto"

Muchisimas gracias por su atención

Jorge_548 g

Microsoft 365 y Office | Excel | Para la casa | Windows

Pregunta bloqueada. Esta pregunta se migró desde la Comunidad de Soporte técnico de Microsoft. Puede votar si es útil, pero no puede agregar comentarios o respuestas ni seguir la pregunta.

0 comentarios No hay comentarios

8 respuestas

Ordenar por: Muy útil
  1. Héctor Miguel 71,595 Puntos de reputación
    2019-02-22T18:37:01+00:00

    prueba de esta manera:

    Sub copiaHojaEnValores()

      Worksheets("hoja1").Copy After:=Worksheets(Worksheets.Count)

      With ActiveSheet

        .Name = Format(Now, "yyyymmdd_hhmmss")

        .UsedRange.Value = .UsedRange.Value

      End With

    End Sub

    saludos,

    hector.

    ¿Le ha resultado útil esta respuesta?

    2 personas han encontrado útil esta respuesta.
    0 comentarios No hay comentarios
  2. Anónimas
    2019-02-23T00:11:18+00:00

    Pues con algo tan simple como esto y nada más en la hoja, ....

    … con el siguiente código... 'casca'...

    … y con el que yo ofrecí funciona sin problemas.

    ¿Fallaron 'los trucos' y la forma en que tú crees que lo hace?

    ¿Le ha resultado útil esta respuesta?

    1 persona ha encontrado útil esta respuesta.
    0 comentarios No hay comentarios
  3. Anónimas
    2019-02-22T17:11:46+00:00

    . . . lo que necesito es que la segunda linea copie en si misma la hoja2, pero en valores

    ¿No es un desperdicio de recursos, Copiar/Pegar  más de 2.434 MILLONES de celdas (tengan o no datos), en vez de utilizar rangos precisos que apunten solamente a las celdas ocupadas?

    Por ejemplo (suponiendo tus datos en A:Z):

    . . .

    Dim ultima&

    ultima = Cells(Rows.Count, 1).End(xlUp).Row

    Range("A1:Z" & ultima).Value = Range("A1:Z" & ultima).Value

    . . .

    ¿Le ha resultado útil esta respuesta?

    1 persona ha encontrado útil esta respuesta.
    0 comentarios No hay comentarios
  4. Anónimas
    2019-02-22T08:08:57+00:00

    Sub Macro1()

        Sheets("hoja1").Cells.Copy Sheets("hoja2").Range("A1")

        Cells.Copy.Range("A1").Value.Range("A1") = Value

    End Sub

    Se producce el error 424 en la segunda linea, diciendo: "Se require un objeto"

    Muchisimas gracias por su atención

    Jorge_548 g

    Hola:

    Quita el .Copy y te sobra el ultimo Range():

        Cells.Copy.Range("A1").Value~~.Range("A1")~~ = Value

    Te quedaría:

    Cells.Range("A1").Value = Value

    Un saludo

    ¿Le ha resultado útil esta respuesta?

    0 comentarios No hay comentarios
  5. Anónimas
    2019-02-22T00:31:47+00:00

    Hola

    ¿Qué intentas hacer con esa segunda línea?

    ¿Le ha resultado útil esta respuesta?

    0 comentarios No hay comentarios