Saltar al contenido

Problema para resolver en evaluaciones entre fechas en VBA


A.Maurizio

Recommended Posts

publicado

Hola a todos, mi nombre es Maurizio
Y mi problema es este:
En una hoja de Excel estoy tratando de crear un horario con fechas.
1) En Práctica en la Columna (G6: G35) ingrese una fecha de visita
2) Medidor que explota el VBA Me gustaría que en la columna (H6: H35) se verificara la cantidad de días que comen en la fecha límite.
3) Los medidores en la columna (I6: I35) deben darme la Confirmación o no de la caducidad.

Ahora, en lo que respecta a la Columna (H), no me arriesgo a cambiar el simple clic para permitir evaluar cualquier inserción de fecha en la columna (G), pero tomada individualmente funciona muy bien ya que he adoptado esta función
(Con Sheet1
Rango ("H11"). Valor =. Rango ("H1"). Valor
Rango ("H11"). Fórmula = "= G11- $ H $ 1"
Terminar con)

Pero ahora quería adoptar lo mismo para hacerle hacer la evaluación de la columna (I) Escribiendo todo de esta manera:
(Con Sheet1
.Rango ("I11") Fórmula = "= SE (G8 =" ";" "; SE (TODAY ()> G8;" Expired "; SE (TODAY () + 15> G8;" Expiring ";" válida ")))"
Terminar con)

Pero sigue dándome un error, por qué y cómo puedo resolver al menos este problema Gracias

##################################################################################################################################

Hello everyone, my name is Maurizio
And my problem is this:
On an Excel sheet I'm trying to create a schedule with dates.
1) In Practice in the Column (G6: G35) I enter a visit date
2) Metre exploiting the VBA I would like that in column (H6: H35) I was checked how many days they eat at the deadline.
3) Meters in the column (I6: I35) should give me the Confirmation or not of the expiration.

Now as regards the Column (H) I do not risk to sfuttare the simple click to let evaluate any date insert in the column (G) but taken individually it works great as I have adopted this function
(With Sheet1
.Range ("H11"). Value = .Range ("H1"). Value
.Range ("H11"). Formula = "= G11- $ H $ 1"
End With)

But now I wanted to adopt the same thing to make him do the evaluation for the column (I) Writing the whole thing like this:
(With Sheet1
.Range ("I11") Formula = "= SE (G8 =" ";" "; SE (TODAY ()> G8;" Expired "; SE (TODAY () + 15> G8;" Expiring ";" valid ")))"
End With)

But keep giving me Error, Why and how can I solve at least this problem Thanks

Valutazione_Tra_Date_e_Tempo_Scaduto.xlsm

publicado

Revisa ambas opciones:

Sub Calcola_Teriodo_Trascorso1()
With Foglio1
.Range("H11").Value = .Range("H1").Value
.Range("H11").Formula = "=G11-$H$1"
.Range("I11").Formula = "=IF(G11="""","""",IF(TODAY()>G11,""Scaduta"",IF(TODAY()+15>G11,""In scadenza"",""Valida"")))"
End With
End Sub

Sub Calcola_Teriodo_Trascorso2()
With Foglio1
.Range("H11").Value = .Range("H1").Value
.Range("H11").Formula = "=G11-$H$1"
.Range("I11").FormulaLocal = "=SE(G11="""";"""";SE(OGGI()>G11;""Scaduta"";SE(OGGI()+15>G11;""In scadenza"";""Valida"")))"
End With
End Sub

 

publicado

Hola Antoni muchas gracias por tu ayuda.
Sin ti, seguramente nunca hubiera venido con toda mi buena voluntad.
Pero hay una cosa que absolutamente me gustaría que me explicaras y es esto:
Si en este caso quisiera agregar una fórmula que tenga en cuenta la columna (G6: G35) de esta manera: si una de estas celdas está llena o no es igual a (0), entonces no pasa nada.

En el caso opuesto "Pongo una fecha", escriba la fórmula que escribió en la misma línea.

¿Todo es posible de acuerdo a usted?

Gracias por todo el tiempo que me dedicas; Saludos sinceros de Maurizio.

###################################################################################

Hi Antoni thank you very much for your help
Without you, surely I would never have come there with all my good will.
But there is one thing that I would absolutely want you to explain to me and it is this:
If in this case I wanted to add a formula that takes into account the column (G6: G35) in this way: If one of these cells is full or is not equal to (0) then nothing happens.

In the opposite case "I put a date" then write the formula you wrote on the same line.

Is everything possible according to you?

Thank you for all the time you dedicate to me; Sincere Greetings from Maurizio

publicado
Sub Calcola_Teriodo_Trascorso()
Application.ScreenUpdating = False
With Foglio1
.Range("H6").Formula = "=IF(G6="""","""",IF(TODAY()<G6,G6-TODAY(),""""))"
.Range("I6").Formula = "=IF(G6="""","""",IF(TODAY()>G6,""Scaduta"",IF(TODAY()+15>G6,""In scadenza"",""Valida"")))"
End With
Range("H6:I6").AutoFill Range("H6:I35")
End Sub

 

publicado

Hola Antoni. Perdón por el retraso en responder; Pero me llevaron un poco con mi trabajo familiar y mis compromisos.
Muchas gracias por su ayuda adicional.
Ahora es perfecto, y como siempre eres el mejor de la programación en general.
Un saludo sincero y un feliz fin de semana para usted y todos los del Foro por A.Maurizio.

Traslation

Hi Antoni Sorry for the delay in answering; But I was taken a little bit with my family work and commitments.
Thank you so much for your further help.
Now it's perfect, and as always you're the best of programming in general.
Sincere greetings and Happy Weekend to you and all those of the Forum by A.Maurizio

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.

×
×
  • Crear nuevo...

Información importante

Echa un vistazo a nuestra política de cookies para ayudarte a tener una mejor experiencia de navegación. Puedes ajustar aquí la configuración. Pulsa el botón Aceptar, si estás de acuerdo.