Error 1004

Anónimas
2022-10-14T16:22:12+00:00

Hola a todos,

Con una consulta, estoy tratando que una macros escriba automáticamente determinados caractéres en la misma fila pero diferente columna de un valor que busca de forma automática.

Les dejo el código

******************************************************************************************************************************************

cuadro2 = MsgBox("¿La cantidad devuelta es " & mostrarcantidad1 & "?", vbYesNo, "CONFIRMACIÓN CANTIDAD")

    If cuadro2 = vbYes Then 

        Sheets("Histórico").Select 

       Set fila = Sheets("Histórico").Range("G:G").Find(valor\_buscar, lookat:=xlWhole) 

        Range(fila).Offset(, 8) = valorU

*******************************************************************************************************************************************

fila lo definí como un objeto

También probé con el codigo:

*******************************************************************************************************************************************

cuadro2 = MsgBox("¿La cantidad devuelta es " & mostrarcantidad1 & "?", vbYesNo, "CONFIRMACIÓN CANTIDAD")

    If cuadro2 = vbYes Then 

        Sheets("Histórico").Select 

       Set fila = Sheets("Histórico").Range("G:G").Find(valor\_buscar, lookat:=xlWhole) 

        Range("O" & fila.Row) = ValorU

**********************************************************************************************************************************************

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
{count} votos

4 respuestas

Ordenar por: Muy útil
  1. Anónimas
    2022-10-17T08:10:05+00:00

    Es recomendable que pongas todo el código para revisarlo.

    Te paso un ejemplo para que lo pruebes:

    Sub Prueba_buscar() <br><br> Dim cuadro2 As VbMsgBoxResult <br><br> Dim mostrarcantidad1 As Double <br><br> Dim rng As Range <br><br> Dim valor_buscar As Variant <br><br> Dim ValorU As Variant <br><br> <br><br> 'datos de ejemplo <br><br> mostrarcantidad1 = 100 <br><br> valor_buscar = 200 <br><br> ValorU = 300 <br><br> <br><br> cuadro2 = MsgBox("¿La cantidad devuelta es " & mostrarcantidad1 & "?", vbYesNo, "CONFIRMACIÓN CANTIDAD") <br><br> If cuadro2 = vbYes Then <br><br> With Sheets("Histórico") <br><br> Set rng = .Range("G:G").Find(valor_buscar, , xlValues, xlWhole) <br><br> If Not rng Is Nothing Then <br><br> .Range("O" & rng.Row) = ValorU <br><br> Else <br><br> MsgBox "No existe el valor: " & valor_buscar <br><br> End If <br><br> End With <br><br> End If <br><br>End Sub

    Saludos Dante Amor

    Visita: Excel y Macros

    0 comentarios No hay comentarios
  2. Anónimas
    2022-10-15T11:31:46+00:00

    Siempre es mejor definir explícitamente las variables.

    Seguramente el error se producirá en el set fila

    Sub p() 
    
           Dim H As Worksheet 
    
           Dim fila As Range 
    
           Dim ValorBuscado As String 
    
           Dim ValorU As String 
    
          Set H = Worksheets("Historico") 
    
          ValorBuscado = "Hola" 
    
          ValorU = "Adios" 
    
          Set fila = H.Range("G:G").Find(ValorBuscado, lookat:=xlWhole) 
    
         Cells(fila.Row, 15) = ValorU 
    
    End Sub
    
    0 comentarios No hay comentarios
  3. Anónimas
    2022-10-14T20:17:20+00:00

    Hola Byron

    Soy Anna y estaré encantada de ayudarte con tu pregunta. En este Foro, somos consumidores de Microsoft como usted.

    Lo siento por el problema que esto podría haber causado. El error de tiempo de ejecución de VBA 1004 se produce mientras ejecuta una macro en Excel. Es un error que puede ocurrir debido a varias razones. ¿Cuál de estos habla del error que está teniendo?

    Error1: Error de tiempo de ejecución de VBA 1004: ese nombre ya está tomado. Pruebe uno diferente. Error2: Error de tiempo de ejecución de VBA 1004: Error del método "Range" del objeto ' _ Global'. Error3: Error de tiempo de ejecución de VBA 1004: Error al seleccionar método de clase Range. Error4: Error de VBA Runtime Error 1004 Activate method range class. Error5: Método de error de tiempo de ejecución de VBA 1004 Lo sentimos, no pudimos encontrarlo Error6: Error en el método de VBA Runtime Error 1004 abierto de libros de objetos.

    Siga los pasos para identificar y corregir el error de tiempo de ejecución 1004

    1. Realice una ejecución de código paso a paso para ver en qué línea se produce el error.
    2. Asegúrese de verificar todos los nombres de los libros a los que se refiere.
    3. También puede usar un código VBA para verificar si un libro ya está abierto o no.
    4. Y use el método activate para activar una hoja de cálculo antes de referirse a una celda o rango de ella.

    Espero que esto ayude ;-), hágame saber si esto es contrario a lo que necesita, aún sería útil para responder más de sus preguntas.

    Saludos

    Anna

    Retribuir a la comunidad. Ayude a la siguiente persona con este problema indicando si esta respuesta resolvió su problema. Haga clic en Sí o No en la parte inferior.

    Esta respuesta se ha traducido automáticamente. Como resultado, puede haber errores gramaticales o expresiones extrañas.

    0 comentarios No hay comentarios
  4. Anónimas
    2022-10-14T19:14:12+00:00

    El error 1004 es un error muy genérico, ¿En qué fila se produce el error?.

    0 comentarios No hay comentarios