"Error de ejecución 91"
Resuelto
Amande42
Mensajes publicados
26
Estado
Miembro
-
Amande42 Mensajes publicados 26 Estado Miembro -
Amande42 Mensajes publicados 26 Estado Miembro -
Hola a todos,
Y de antemano gracias a quienes se ocupen de mi problema, estoy a punto de llorar delante de mi pantalla o de lanzarla contra la pared... ;-)
Sigo trabajando en la concepción de la misma herramienta, avanzando lenta pero seguramente.
El problema del día: el objetivo de este código es encontrar la "Valcherchée" (concatenación de 3 celdas que se encuentran en la hoja "MàJ PA - retorno auditados") en la columna Z de la hoja "BDD résumé". He verificado mediante un MsgBox y "Valcherchée" corresponde bien a lo que busco.
A partir de ahí y de la método offset que debe apuntar a la columna G, buscar la celda que indica el número de campaña asociado a la "Valcherchée" y reemplazarla por el número ingresado en la hoja "MàJ PA - retorno auditados" (actualización del número de campaña de cada misión cada 6 meses).
Probé mi procedimiento ayer y después de un día trabajando en ello, por fin funcionaba al irme por la noche. Pero, como siempre hay un pero, esta mañana ya no funcionaba. He intentado mejorarlo según las indicaciones que encontré en línea, pero después de 3 horas no hay manera y me rindo.
Al ejecutar mi procedimiento paso a paso, se falla en la línea de "MsgBox Cellule" (agregué esta línea para intentar identificar el problema) y aparece el mensaje de error 91. No tengo un with sin end with (intenté poner uno por si acaso), mis variables están declaradas (intenté ponerlas como Variant a ver si solucionaba mi problema...), etc.
Si quito la línea de código "MsgBox Cellule", el procedimiento sigue su curso y devuelve Nothing, aparece mi MsgBox "No encontrado" y finaliza el procesamiento.
Lo que no entiendo es que mi "Valcherchée" está presente en mi columna Z.
¡Estoy que exploto! Más paciencia no tengo.
De antemano gracias por su valiosa ayuda.
Buen día a todos.
Amande42
PD: ¿cómo se formatea el código en este foro (con un marco y colores) para facilitar la lectura?
Y de antemano gracias a quienes se ocupen de mi problema, estoy a punto de llorar delante de mi pantalla o de lanzarla contra la pared... ;-)
Sigo trabajando en la concepción de la misma herramienta, avanzando lenta pero seguramente.
El problema del día: el objetivo de este código es encontrar la "Valcherchée" (concatenación de 3 celdas que se encuentran en la hoja "MàJ PA - retorno auditados") en la columna Z de la hoja "BDD résumé". He verificado mediante un MsgBox y "Valcherchée" corresponde bien a lo que busco.
A partir de ahí y de la método offset que debe apuntar a la columna G, buscar la celda que indica el número de campaña asociado a la "Valcherchée" y reemplazarla por el número ingresado en la hoja "MàJ PA - retorno auditados" (actualización del número de campaña de cada misión cada 6 meses).
Probé mi procedimiento ayer y después de un día trabajando en ello, por fin funcionaba al irme por la noche. Pero, como siempre hay un pero, esta mañana ya no funcionaba. He intentado mejorarlo según las indicaciones que encontré en línea, pero después de 3 horas no hay manera y me rindo.
Al ejecutar mi procedimiento paso a paso, se falla en la línea de "MsgBox Cellule" (agregué esta línea para intentar identificar el problema) y aparece el mensaje de error 91. No tengo un with sin end with (intenté poner uno por si acaso), mis variables están declaradas (intenté ponerlas como Variant a ver si solucionaba mi problema...), etc.
Si quito la línea de código "MsgBox Cellule", el procedimiento sigue su curso y devuelve Nothing, aparece mi MsgBox "No encontrado" y finaliza el procesamiento.
Lo que no entiendo es que mi "Valcherchée" está presente en mi columna Z.
Private Sub MAJNumCampagne() 'BUSCA CELDA CON N° CAMPAÑA CORRESPONDIENTE A LA MISIÓN SELECCIONADA EN LA HOJA "BDD résumé" Dim Valcherchée As String Dim Cellule As Range 'celda que contiene los 3 valores buscados concatenados Dim myRange As Range 'celda correspondiente al num de campaña 'Concatenación Misión + Año + Entidad a buscar With Sheets("MàJ PA - retorno audités") Valcherchée = .Range("D6").Value & .Range("G8").Value & .Range("D10").Value End With 'Activación de la celda que contiene el n° de campaña en función de la misión y asignación del número actualizado Set Cellule = Sheets("BDD résumé").Columns(26).Find(Valcherchée, Lookat:=xlWhole) MsgBox Cellule If Cellule Is Nothing Then MsgBox "No encontrado." Exit Sub End If If Not Cellule Is Nothing Then myRange = Cellule.Offset(, -19) myRange.Value = Sheets("MàJ PA - retorno audités").Range("I17").Value End If End Sub ¡Estoy que exploto! Más paciencia no tengo.
De antemano gracias por su valiosa ayuda.
Buen día a todos.
Amande42
PD: ¿cómo se formatea el código en este foro (con un marco y colores) para facilitar la lectura?
| EDITAR: Añadir las etiquetas de código (la coloración sintáctica). Explicaciones disponibles aquí: AQUÍ Gracias por tenerlo en cuenta en tus próximos mensajes. |
Enlaces relacionados:
- Error de ejecución 13 Incompatibilidad de tipo
- error de ejecución 9, el índice no pertenece a la selección
- Error de ejecución '13': Incompatibilidad de tipo
- error 13 incompatibilidad de tipo VBA excel
- Error 1004 - Error definido por la aplicación o por el objeto
- Error de ejecución 13: incompatibilidad de tipo
8 respuestas
Hola,
- Para insertar código:
Explicaciones disponibles aquí:
https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code
- En cuanto al error en la línea de código:
.... ya que declaras tu variable así:
... Celula ... es un "RANGE" (un rango de celdas o una sola celda...)
Entonces... este "objeto" contiene una propiedad VALUE (para obtener su contenido...), una propiedad ADDRESS (para conocer sus coordenadas.....) ... en fin... depende de ti elegir lo que quieras mostrar.
Podrías escribir:
Luego indicas:
... pero... el texto está presente TAL CUAL en tu celda... o forma parte de un TEXTO contenido en tu celda???
Para recordar: xlWhole corresponde a => Coincidencia EXACTA.
Y para finalizar ....
=> ¡No uses caracteres ACENTUADOS en el nombre de tus variables!
(ni ningún carácter especial... (a excepción de los guiones bajos))
--
Atentamente,
Jordane
- Para insertar código:
Explicaciones disponibles aquí:
https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code
- En cuanto al error en la línea de código:
MsgBox Celula
.... ya que declaras tu variable así:
Dim Celula As Range
... Celula ... es un "RANGE" (un rango de celdas o una sola celda...)
Entonces... este "objeto" contiene una propiedad VALUE (para obtener su contenido...), una propiedad ADDRESS (para conocer sus coordenadas.....) ... en fin... depende de ti elegir lo que quieras mostrar.
Podrías escribir:
Set Celula = Sheets("BDD résumé").Columns(26).Find(ValorBuscado, Lookat:=xlWhole) MsgBox Celula If Celula Is Nothing Then MsgBox "No encontrado." Exit Sub Else MsgBox Celula.Address myRange = Celula.Offset(, -19) myRange.Value = Sheets("MàJ PA - retour audités").Range("I17").Value End If Luego indicas:
mi "ValorBuscado" está bien presente en mi columna Z.
... pero... el texto está presente TAL CUAL en tu celda... o forma parte de un TEXTO contenido en tu celda???
Para recordar: xlWhole corresponde a => Coincidencia EXACTA.
Y para finalizar ....
=> ¡No uses caracteres ACENTUADOS en el nombre de tus variables!
(ni ningún carácter especial... (a excepción de los guiones bajos))
--
Atentamente,
Jordane