............ Foro Excel
Si no lo has hecho aún: REGISTRATE!!!

PROBLEMA CON BUCLE Do While

Ver el tema anterior Ver el tema siguiente Ir abajo

PROBLEMA CON BUCLE Do While

Mensaje por Deivid el Lun Nov 02, 2009 7:22 am

Hola. Tengo esta hoja:
Hoja1

 ABCDEFGHIJKLMNO
1Nº RegFecha CambSOLICITANTECONCESIONARIOSOLICITANTE
2  NombreRegFechaTurno Debia IrFechaTurno CambioNombreRegFechaTurn Debia IrFechaTurno CambioFechasCambio
311-nov-09Jose A. Castro8101-10-09, 02-10-09Noche01-10-09, 02-10-09MañanaJose Luis Hervas8601-10-09, 02-10-09Mañana01-10-09, 02-10-09Noche01-oct-09
421-nov-09Rafael Torrico4227-10-09, 28-10-09Mañana27-10-09, 28-10-09DescansoJesus Miguel Martinez4027-10-09, 28-10-09Descanso27-10-09, 28-10-09Mañana27-oct-09
532-nov-09Antonio Fernandez4529-10-09, 30-10-09Tarde29-10-09, 30-10-09NocheJorge Mingarro 13629-10-09, 30-10-09Noche29-10-09, 30-10-09Tarde29-oct-09
641-nov-09David Martinez3302-11-09, 03-11-09Noche02-11-09, 03-11-09TardeAlfredo Tejada2302-11-09, 02-11-09Tarde02-11-09, 03-11-09Noche02-nov-09
751-nov-09Jesus Miguel Martinez4004-11-09, 05-11-09Mañana04-11-09, 05-11-09DescansoJuan Manuel Salas14004-11-09, 05-11-09Descanso04-11-09, 05-11-09Mañana04-nov-09
8               
9               
10               
11FECHA ACTUAL             
12               
13               


Excel tables to the web >> [Tienes que estar registrado y conectado para ver este vínculo]

Y una pequeña macro para que cambie el color de cada registro en función de si las Fechas de Col "O" son Menor o Igual que la FEcha Actual. Algo falla en bucle o en la asignacion de la "Fechactual" dentro de la macro. Me echan una mano por favor? Esta es la macro:

Código:
Sub Busca_y_Cambia_Color()

    Dim Linea
    Dim Fechactual
    Linea = 3
    Range("C11").Value = Now
    Fechactual = Range("C11").Value
    Fechactual = Format(Fechactual, "dd-mmm-yy")
   
    Do While (Range("O" & Linea).Value <= Fechactual) And (Range("O" & Linea).Value <> "")
        If Range("O" & Linea).Value <= Fechactual Then
            Range("A" & Linea).Select
            With Selection.Font
                .Name = "Arial"
                .FontStyle = "Normal"
                .Size = 10
                .Strikethrough = False
                .Superscript = False
                .Subscript = False
                .OutlineFont = False
                .Shadow = False
                .Underline = xlUnderlineStyleNone
                .Color = 49407
                .TintAndShade = 0
                .ThemeFont = xlThemeFontNone
            End With
           
            Range("B" & Linea & ":N" & Linea).Select
            With Selection.Font
                .Name = "Arial"
                .FontStyle = "Normal"
                .Size = 10
                .Strikethrough = False
                .Superscript = False
                .Subscript = False
                .OutlineFont = False
                .Shadow = False
                .Underline = xlUnderlineStyleNone
                .ThemeColor = xlThemeColorDark1
                .TintAndShade = -0.249977111
                .ThemeFont = xlThemeFontNone
            End With
        End If
        Linea = Linea + 1
    Loop
End Sub

Deivid

Cantidad de envíos : 32
Fecha de inscripción : 20/02/2008

Volver arriba Ir abajo

Re: PROBLEMA CON BUCLE Do While

Mensaje por GalileoGali el Lun Nov 02, 2009 8:11 am

Algo falla:
Debes ser mas especifico: Que Falla?
en que linea de codigo se produce la falla?
¿Q ue es lo que se espera que ocurra y no ocurre?

Ahora bien, sin testear nada me pregunto por que no usar Formatos condcionales???(tal vez no entendi el problema)

_________________
GalileoGali
M.A.P. 2010-2013
Microsoft Active Professional
avatar
GalileoGali
Admin

Masculino Cantidad de envíos : 1962
Edad : 61
Ciudad - Pais : QUIROGA, Argentina
Version de Excel : 2000-2003-2007-2010
Fecha de inscripción : 24/01/2008

http://excelgali.mejorforo.net

Volver arriba Ir abajo

Re: PROBLEMA CON BUCLE Do While

Mensaje por Deivid el Lun Nov 02, 2009 9:14 am

Vamos por partes Gali.
Esta hoja es un listado. Los datos provienen de una planilla y se van añadiendo aquí cuando se ejecuta otra macro. Aunque no viene al caso ahora. El problema es que cuando paso los datos aquí, con la otra macro, todo el listado se ordena por medio de "Sort" y la clave es la col. "O",pero ya te digo que esto es otra macro y funciona bien, el problema es que cuando yo abro el libro se ejecuta esta macro "Private sub workbook_open()" llamada aqui(Busca_y_Cambia_Color() que he puesto. El problema tiene que venir en una de estas instrucciones:
'''''''''''''''' Range("C11").Value = Now
Fechactual = Range("C11").Value
Fechactual = Format(Fechactual, "dd-mmm-yy")

Do While (Range("O" & Linea).Value <= Fechactual) And (Range("O" & Linea).Value <> "")
If Range("O" & Linea).Value <= Fechactual Then ''''''''''''''''''''

Si te fijas en la Col "O", hay fechas p.ej, 02-nov-09 y 04-nov-09, que son "<=" que la "Fechactual" por tanto la macro no debía de aplicarles el formato de color... Entiendes lo que quiero decir.
La cuestión es que debo utilizar esta estructura o algo similar que funcione, porque cada dia se añade un registro nuevo o dos o tres y debe ordenarse con esta condición de color.
Te pongo otra vez la hoja que he añadido un comentario de texto:

Hoja1

 ABCDEFGHIJKLMNO
1Nº RegFecha CambSOLICITANTECONCESIONARIOSOLICITANTE
2  NombreRegFechaTurno Debia IrFechaTurno CambioNombreRegFechaTurn Debia IrFechaTurno CambioFechasCambio
311-nov-09Jose A. Castro8101-10-09, 02-10-09Noche01-10-09, 02-10-09MañanaJose Luis Hervas8601-10-09, 02-10-09Mañana01-10-09, 02-10-09Noche01-oct-09
421-nov-09Rafael Torrico4227-10-09, 28-10-09Mañana27-10-09, 28-10-09DescansoJesus Miguel Martinez4027-10-09, 28-10-09Descanso27-10-09, 28-10-09Mañana27-oct-09
532-nov-09Antonio Fernandez4529-10-09, 30-10-09Tarde29-10-09, 30-10-09NocheJorge Mingarro 13629-10-09, 30-10-09Noche29-10-09, 30-10-09Tarde29-oct-09
641-nov-09David Martinez3302-11-09, 03-11-09Noche02-11-09, 03-11-09TardeAlfredo Tejada2302-11-09, 02-11-09Tarde02-11-09, 03-11-09Noche02-nov-09
751-nov-09Jesus Miguel Martinez4004-11-09, 05-11-09Mañana04-11-09, 05-11-09DescansoJuan Manuel Salas14004-11-09, 05-11-09Descanso04-11-09, 05-11-09Mañana04-nov-09
8               
9               
10               
11FECHA ACTUAL             
12               
13               
14               
15               
16               
17               
18               
19               
20               


Excel tables to the web >> [Tienes que estar registrado y conectado para ver este vínculo]


Última edición por Deivid el Lun Nov 02, 2009 9:20 am, editado 2 veces

Deivid

Cantidad de envíos : 32
Fecha de inscripción : 20/02/2008

Volver arriba Ir abajo

Re: PROBLEMA CON BUCLE Do While

Mensaje por Deivid el Lun Nov 02, 2009 9:15 am

Perdón, pero no ha salido el comentario en la celda C11, es este:
Formato Personalizado:
dd-mmm-yy
Al igual que col. "O".
Aquí la macro coloca la "Fechactual"

Deivid

Cantidad de envíos : 32
Fecha de inscripción : 20/02/2008

Volver arriba Ir abajo

Re: PROBLEMA CON BUCLE Do While

Mensaje por GalileoGali el Lun Nov 02, 2009 1:37 pm

Esta linea carga la fecha como string (cadena)
Fechactual = Format(Fechactual, "dd-mmm-yy")
asi al comparar toma el valor como literal y no como numero

Ahora bien, en principio podrias elminarla y ver que ocurre, si hiciera falta, explica para que?

_________________
GalileoGali
M.A.P. 2010-2013
Microsoft Active Professional
avatar
GalileoGali
Admin

Masculino Cantidad de envíos : 1962
Edad : 61
Ciudad - Pais : QUIROGA, Argentina
Version de Excel : 2000-2003-2007-2010
Fecha de inscripción : 24/01/2008

http://excelgali.mejorforo.net

Volver arriba Ir abajo

Re: PROBLEMA CON BUCLE Do While

Mensaje por Deivid el Mar Nov 03, 2009 3:14 am

Gracias gali. Aquí estaba el problema. Aunque hay algo que no entiendo... porqué esta línea aquí no funciona y en el ejemplo que te puse de UNIR FECHAS me indicaste que usase la grabad. de macros para traducir a vba los condicionales y ahí si que funcionaba el Format? Te acuerdas?

Deivid

Cantidad de envíos : 32
Fecha de inscripción : 20/02/2008

Volver arriba Ir abajo

Re: PROBLEMA CON BUCLE Do While

Mensaje por Contenido patrocinado


Contenido patrocinado


Volver arriba Ir abajo

Ver el tema anterior Ver el tema siguiente Volver arriba


 
Permisos de este foro:
No puedes responder a temas en este foro.