Macro condiconado

03/07/2009 - 17:04 por Belinda | Informe spam
Hola amigos...

Hace días que no doy "la vara" al grupo, ahora me ha entrado el
ansia...

A ver mi me explico para que me ayudéis. Es un cuadrante para contolar
días trabajados...

1) En C10 hasta C... tengo datos (nombre de personas).
2) En F10 hasta F...tengo un dato: SEV, CAD, GRA, que indica el
convenio de cada uno
3) En AE9: BI9 genero los diás del mes, todo números, excepto, SAB,
DOM, FEST (1, 2, 3, SAB, DOM, 7, etc

..lo que quiero e una macro que me ponga un 1 ó un 3 en todas las
celdas que hay debajo del rótulo de los días (AE9:BI9), dejando en
blanco aquellas celdas cuyo rótulo sea SAB, DOM o FEST

..como no se donde acaba ese rango (AE10:BI10), (varia todos los
meses) la macro debería averiguarlo ya que depende de que haya datos
en la columna C10, (los nombres de las personas).

Saludos y como siempre gracias por vuestro tiempo..

Preguntas similare

Leer las respuestas

#6 Belinda
06/07/2009 - 16:31 | Informe spam
On 6 jul, 13:25, "KL" wrote:
Hola Belinda,

Mientras vuelve HM, mira a ver si te vale esto (he cogido los parametros de
tu ejemplo inicial):

Sub test()
    Dim lngLRow As Long
    With ActiveSheet
        lngLRow = .Cells(.Rows.Count, "C").End(xlUp).Row
        .Range("AE10:BI" & lngLRow) = _
            Evaluate("IF(ISNUMBER(AE9:BI9),IF((D10:D" & lngLRow _
                & "=""CAD"")+(D10:D" & lngLRow & "=""SEV""),3,IF(D10:D" & _
                    lngLRow & "=""GRA"",1,"""")),"""")")
    End With
End Sub

Saludos,
KL



Gracias por tu ayuda KLNo me funciona, me pone las celdas con un
error #¡VALOR!.

...¿Puede ser la referencia que haces a la fila D, que deba ser la F?
Tambien le he cambiado las comas por el punto y coma, que es mi
separador de listas, pero da error si le cambio la coma en la fila de
la macro en la que defines la variable (Count, "C")

Gracias de nuevo por tú interés
Respuesta Responder a este mensaje
#7 KL
06/07/2009 - 16:54 | Informe spam
Hola Belinda,

A ver asi:

Sub test()
Dim lngLRow As Long
With ActiveSheet
lngLRow = .Cells(.Rows.Count, "C").End(xlUp).Row
.Range("AE10:BI" & lngLRow) = _
Evaluate("SI(ESNUMERO(AE9:BI9),SI((F10:F" & lngLRow _
& "=""CAD"")+(F10:F" & lngLRow & "=""SEV""),3,SI(F10:F" & _
lngLRow & "=""GRA"",1,"""")),"""")")
End With
End Sub

y si no asi:

Sub test()
Dim lngLRow As Long
With ActiveSheet
lngLRow = .Cells(.Rows.Count, "C").End(xlUp).Row
.Range("AE10:BI" & lngLRow) = _
Evaluate("SI(ESNUMERO(AE9:BI9);SI((F10:F" & lngLRow _
& "=""CAD"")+(F10:F" & lngLRow & "=""SEV"");3;SI(F10:F" & _
lngLRow & "=""GRA"";1;""""));"""")")
End With
End Sub

Saludos,
KL


"Belinda" wrote in message
news:
On 6 jul, 13:25, "KL" wrote:
Hola Belinda,

Mientras vuelve HM, mira a ver si te vale esto (he cogido los parametros
de
tu ejemplo inicial):

Sub test()
Dim lngLRow As Long
With ActiveSheet
lngLRow = .Cells(.Rows.Count, "C").End(xlUp).Row
.Range("AE10:BI" & lngLRow) = _
Evaluate("IF(ISNUMBER(AE9:BI9),IF((D10:D" & lngLRow _
& "=""CAD"")+(D10:D" & lngLRow & "=""SEV""),3,IF(D10:D" &
_
lngLRow & "=""GRA"",1,"""")),"""")")
End With
End Sub

Saludos,
KL



Gracias por tu ayuda KLNo me funciona, me pone las celdas con un
error #¡VALOR!.

...¿Puede ser la referencia que haces a la fila D, que deba ser la F?
Tambien le he cambiado las comas por el punto y coma, que es mi
separador de listas, pero da error si le cambio la coma en la fila de
la macro en la que defines la variable (Count, "C")

Gracias de nuevo por tú interés

Respuesta Responder a este mensaje
#8 Belinda
06/07/2009 - 17:38 | Informe spam
On 6 jul, 16:54, "KL" wrote:
Hola Belinda,

A ver asi:

Sub test()
    Dim lngLRow As Long
    With ActiveSheet
        lngLRow = .Cells(.Rows.Count, "C").End(xlUp).Row
        .Range("AE10:BI" & lngLRow) = _
            Evaluate("SI(ESNUMERO(AE9:BI9),SI((F10:F" & lngLRow _
                & "=""CAD"")+(F10:F" & lngLRow & "=""SEV""),3,SI(F10:F" & _
                    lngLRow & "=""GRA"",1,"""")),"""")")
    End With
End Sub

y si no asi:

Sub test()
    Dim lngLRow As Long
    With ActiveSheet
        lngLRow = .Cells(.Rows.Count, "C").End(xlUp).Row
        .Range("AE10:BI" & lngLRow) = _
            Evaluate("SI(ESNUMERO(AE9:BI9);SI((F10:F" & lngLRow _
                & "=""CAD"")+(F10:F" & lngLRow & "=""SEV"");3;SI(F10:F" & _
                    lngLRow & "=""GRA"";1;""""));"""")")
    End With
End Sub

Saludos,
KL

"Belinda" wrote in message

news:



> On 6 jul, 13:25, "KL" wrote:
>> Hola Belinda,

>> Mientras vuelve HM, mira a ver si te vale esto (he cogido los parametros
>> de
>> tu ejemplo inicial):

>> Sub test()
>>     Dim lngLRow As Long
>>     With ActiveSheet
>>         lngLRow = .Cells(.Rows.Count, "C").End(xlUp).Row
>>         .Range("AE10:BI" & lngLRow) = _
>>             Evaluate("IF(ISNUMBER(AE9:BI9),IF((D10:D" & lngLRow _
>>                 & "=""CAD"")+(D10:D" & lngLRow & "=""SEV""),3,IF(D10:D" &
>> _
>>                     lngLRow & "=""GRA"",1,"""")),"""")")
>>     End With
>> End Sub

>> Saludos,
>> KL

> Gracias por tu ayuda KLNo me funciona, me pone las celdas con un
> error #¡VALOR!.

> ...¿Puede ser la referencia que haces a la fila D, que deba ser la F?
> Tambien le he cambiado las comas por el punto y coma, que es mi
> separador de listas, pero da error si le cambio la coma en la fila de
> la macro en la que defines la variable (Count, "C")

> Gracias de nuevo por tú interés- Ocultar texto de la cita -

- Mostrar texto de la cita -



..jope, parece que estás aqui al lado. Sigue igual, me sigue dando el
mismo error. Lo únco que hace bien es evaluar el rango que tiene que
poner los 1 y 3, pero luego sigue dando eroores, con estos dos ultimos
que me has enviado, el primero me da error de #¿NOMBRE? y al ejecutar
el segundo me da este errorr #¡VALOR. He probado los tres
Todas las celdas que se evaluan en la macro están en formato General

Gracias KL
Respuesta Responder a este mensaje
#9 KL
06/07/2009 - 18:16 | Informe spam
Jopetas! A ver si lo solucionamos :-) Los ultimos errores sugieren que el
primer codigo no iba desencaminado, es decir: la formula debe estar en
ingles y no en el idioma local. Ahora bien, debe haber algo en los datos
que mi formula no es capaz de tragar. En el siguiente enlace te coloco el
fichero de prueba que utilizo, a ver si he metido la pata imaginandome el
arreglo o el tipo de datos:
www.telefonica.net/web2/kl2/Prueba.xls

Saludos,
KL

"Belinda" wrote in message
news:
..jope, parece que estás aqui al lado. Sigue igual, me sigue dando el
mismo error. Lo únco que hace bien es evaluar el rango que tiene que
poner los 1 y 3, pero luego sigue dando eroores, con estos dos ultimos
que me has enviado, el primero me da error de #¿NOMBRE? y al ejecutar
el segundo me da este errorr #¡VALOR. He probado los tres
Todas las celdas que se evaluan en la macro están en formato General

Gracias KL
Respuesta Responder a este mensaje
#10 Belinda
06/07/2009 - 18:51 | Informe spam
On 6 jul, 18:16, "KL" wrote:
Jopetas! A ver si lo solucionamos :-) Los ultimos errores sugieren que el
primer codigo no iba desencaminado, es decir: la formula debe estar en
ingles y no en el idioma local.  Ahora bien, debe haber algo en los datos
que mi formula no es capaz de tragar.  En el siguiente enlace te coloco el
fichero de prueba que utilizo, a ver si he metido la pata imaginandome el
arreglo o el tipo de datos:www.telefonica.net/web2/kl2/Prueba.xls

Saludos,
KL

"Belinda" wrote in message

news:



> ..jope, parece que estás aqui al lado. Sigue igual, me sigue dando el
> mismo error. Lo únco que hace bien es evaluar el rango que tiene que
> poner los 1 y 3, pero luego sigue dando eroores, con estos dos ultimos
> que me has enviado, el primero me da error de #¿NOMBRE? y al ejecutar
> el segundo me da este errorr #¡VALOR. He probado los tres
> Todas las celdas que se evaluan en la macro están en formato General

> Gracias KL- Ocultar texto de la cita -

- Mostrar texto de la cita -



¡¡¡ caguenla !!! El tuyo funciona perfectamente, pero el mio no hay
manera, ahora no hace nada. Mañana seguiré probando haber que c...le
pasa...

Muchas gracias KL
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida