Saltar al contenido

Problema para resolver en evaluaciones entre fechas en VBA


A.Maurizio

Recommended Posts

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

Enlace a comentario
Compartir con otras webs

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

 

Enlace a comentario
Compartir con otras webs

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

Enlace a comentario
Compartir con otras webs

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

 

Enlace a comentario
Compartir con otras webs

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

Enlace a comentario
Compartir con otras webs

Archivado

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

  • 97 ¿Te parecen útiles los tips de las funciones? (ver tema completo)

    1. 1. ¿Te parecen útiles los tips de las funciones?


      • No
      • Ni me he fijado en ellos

  • Ayúdanos a mejorar la comunidad

    • Donaciones recibidas este mes: 0.00 EUR
      Objetivo: 130.00 EUR
  • Archivos

  • Estadísticas de descargas

    • Archivos
      177
    • Comentarios
      90
    • Revisiones
      27

  • Crear macros Excel

  • Mensajes

    • Hola, Ya he podido, reoslverlo. Por favor dar por terminado, este tema. Muchas gracias Mariano
    • Buenas a todos, trato de transponer o pivotar el archivo que adjunto. El archivo tiene 3 columnas ( en este caso, como pueden ser más 😞 Cód.artículo, Cód.características y Valor. El objetivo es dejar como primera columna el Cód.artículo y como fila de encabezado Cód.características, y luego cruzando datos con Valor. No sé si me he explicado bien Gracias de antemano. Libro1.xlsx
    • Hola que tal amigos programadores por favor me podrían ayudar con una macro que me genere un archivo CSV delimitado por comas, la estructura del archivo CSV no deberá llevar encabezado, los datos del archivo CSV serán obtenidos de la hoja “Datos”. En la columna A: deberá tener la clave clues que se toma de la columna B de la hoja Datos En la Columna B: el Código (son 230 codigos que van del rango G1:IB1 de la hoja datos) En la Columna C: el valor almacenado a su correspondiente al código y clues En la Columna D: el número del mes que se obtendrá de la de la columna E de la hoja Datos En la Columna E: el año que se tomará de la columna F de la hoja de Datos   Son 230 códigos por lo que la macro generará 230 filas por cada clave clues que tenga la hoja Datos En el archivo anexo una hoja llamada CSV para que vean la estructura que tendrá, el archivo CSV estará delimitado por comas   Les agradecería mucho que me ayuden por favor, Dios los bendiga Exportar datos a csv.xlsx
    • Hola buenas tardes.   Debido al trabajo debo estar comparando en un periodo unos archivos dentro de una carpeta o subcarpeta. en base a la fecha de creacion o modificacion.  pero tengo que estar viendo carpeta por carpeta y aveces son varios. Con una macro intente  listar los archivos de cualquier carpeta y subcarpeta, esto activandolo segun la celdaactiva. El problema es que tiene algunos errores. 1. si la carpeta cuenta con subcarpetas me los manda a muchas filas abajo. Mi idea es hoja(Así debe quedar) Que con una macro pueda seleccionar la carpeta desde el buscador y me de la lista de archivos a partir de la fila 6. siendo columna A= fecha de modificación, columna B =Fecha de creación y columna C=Nombre del archivo con hiperlink. Con otro o con la misma macro poder seleccionar otra carpeta y sus subcarpetas, según sea el caso. y me liste a partir de la columna F de la fila 6 Siendo La columna F=Nombre del archivo, columna H=fecha de creación, columna I=ultima modificación   Para así poder acceder y comparar mis archivos, directamente desde excel.   Muchas gracias Mariano       Listar archivos de 2 carpetas para comparar.xlsm
    • Hola buenas, Os presento mis dudas. Tengo un libro  (llamémosle LibroDestino) con dos módulos, uno de definición de variables "ModDef" y otro de inicializacion de esas mismas variables "ModCfg". Necesito que al copiarme una hoja de otro libro(llamémosle LibroOrigen), mediante un procedimiento, sobrescribir el modulo de inicialización de variables del LibroDestino con el  contenido del módulo que hay en el LibroOrigen. Destacar que los dos módulos de cada libro tienen el mismo nombre "ModCfg". Y tienen una única variable llamada "Mensaje". En el LibroDestino tiene el valor "Hola" y en el LibroOrigen el valor "Adiós" Este procedimiento lo realiza perfectamente,  es decir se sobrescribe, pero si en el mismo procedimiento quiero utilizar el nuevo valor de esa variable, me conserva el valor de la variable anterior. Para hacer las comprobaciones he ejecutado un MsgBox al empezar y al acabar el procedimiento, pero en los dos casos me devuelve el valor original del LibroDestino el valor "Hola", cuando mi idea es que al sobrescribir el modulo con el nuevo valor de la variable, el último MsgBox me devuelva el valor "Adios". Mi objetivo es poder tener la inicialización de esas variables en un libro que no sea el de trabajo (LibroDestino), ya que según la hoja que importe puedo requerir que las variables tengan un valor u otro. ¿Por que no me coge en el procedimiento el nuevo valor de la variable? ¿Cómo podría conseguirlo? He tenido que activar en VBA  la referencia Microsoft visual basic for applications extensibility 5.3 desde  Herramientas -> Referencias. Creo que es la única manera de poder trabajar con los módulos desde VBA, aunque si se pudiera de otra manera creo que sería mas óptimo. Mil gracias de antemano, un saludo!         Libro1_Prueba.xlsm Libro2_Prueba.xlsm
  • Visualizado recientemente

    • No hay usuarios registrado para ver esta página.
×
×
  • 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.