Jump to content

merlyn333

Members
  • Content Count

    55
  • Joined

  • Last visited

About merlyn333

  • Rank
    Advanced Member
  • Birthday 10/13/1983

Converted

  • Campos
    ;
  1. Hola @silver_axe007: De nuevo, gracias por responderme. El valor $500,00 (Configuración!C5) seguramente será el mismo mientras no tengas un ascenso o bonificación en tu empresa, o te despidan, de lo contrario podría cambiar. Técnicamente la semana empieza el domingo, pero algunas personas, por motivos laborales tendrían sus días de descanso en días diferentes al domingo y la semana para ellos iniciaría un día diferente. He tomado tu recomendación y he realizado la modificación, pero sólo servirve si yo abro el archivo de Excel el primer día de la semana. Si yo abro el archivo de Excel otro día diferente, por cualquier motivo, no funcionará. Te mostraré lo que tengo según tu sugerencia. Ver arhivo adjunto. ¡Saludos! 😊 Copia de presupuesto_semanal_2019.xlsm
  2. Buenos días @silver_axe007: En primer lugar quiero agradecer por tomarte la molestia de leer mi mensaje, por tu esfuerzo para analizar y responderme oportunamente. Me has sorprendido con el punto 2 y 3, no recordaba que se podría resolver con una fórmula tan sencilla. Muchas gracias. El punto 1 es un poco más complicado porque necesito que el valor del salario, ubicado en la columna "Principal!B:B", se escriba al empezar la semana. Con lo anterior quiero decir que las filas de la columna "B" deben estar vacías hasta que llegue la siguiente semana. Por ejemplo: En éste caso está configurado para que la semana empiece los días "lunes" (Configuración!C4), entonces el próximo lunes 13 de Mayo, cuando yo abra el archivo de Excel, deberá escribirse automáticamente el valor $500,00 (Configuración!C5) en la celda "Principal!B3". En caso de que yo no lo abra el lunes, pero lo abra cualquiero otro día de esa misma semana, igualmente se escribiría el valor $500,00 en la celda "Principal!B3". Muchas gracias de nuevo. Espero oír de vos pronto.
  3. He debido agregar el archivo de Excel en un mensaje a parte porque el sistema me impidió hacerlo en el mensaje anterior. Ver archivo adjunto. Copia de presupuesto_semanal_2019.xlsm
  4. Buenos días familia: Después de intentar hacerlo por mi cuenta y buscar en el foro no encontré la respuesta a una pregunta que posiblemente sea sencilla. Quisiera saber: ¿Cómo escribir en las celdas de la columna "Principal!B:B" el valor del salario que se encuentra en la celda "Configuración!C5" al iniciar una semana en el día que se informa en la celda "Configuración!C4"? ¿Cómo agrego el número que sigue en la columna "'Registro de Movimientos'!A:A" en caso de que la celda de la columna "'Registro de Movimientos'!B:B" no esté vacía? ¿Cómo agrego la palabra "No" en la columna "'Registro de Movimientos'!J:J" en caso de que la celda de la columna "'Registro de Movimientos'!B:B" no esté vacía? Muchas gracias de antemano por su ayuda.
  5. Buenos días Hapox: Si. Eso era exactamente lo que necesitaba. Muchas gracias.
  6. Buenos días familia: Después de intentar hacerlo por mi cuenta y buscar en el foro no encontré la respuesta a una pregunta que posiblemente sea sencilla. Quisiera saber cómo puedo escribir el número de la semana actual en la columna "A" si la celda de la columna "B" no está vacía. También, quisiera saber cómo puedo escribir la fecha actual en formato "DD/MM/AA" en la columna "G" si la celda de la columna "B" no está vacía. Muchas gracias de antemano por su ayuda. presupuesto_semanal_2019.xlsm
  7. Buenas tardes amigos: Tengo lo siguiente: En la celda "Keywords!E2": =SI(D2<>"";CONCATENAR(Constructors!B2;" ";NOMPROPIO(Keywords!B2);" ";NOMPROPIO(Keywords!C2);" ";NOMPROPIO(Keywords!D2);" for ";Constructors!D2;" ";Constructors!E2);"") En la celda "Keywords!E3": =SI(D3<>"";CONCATENAR(Constructors!B3;" ";NOMPROPIO(Keywords!B3);" ";NOMPROPIO(Keywords!C3);" ";NOMPROPIO(Keywords!D3);" for ";Constructors!D3;" ";Constructors!E3);"") En la celda "Keywords!E4": =SI(D4<>"";CONCATENAR(Constructors!B4;" ";NOMPROPIO(Keywords!B4);" ";NOMPROPIO(Keywords!C4);" ";NOMPROPIO(Keywords!D4);" for ";Constructors!D4;" ";Constructors!E4);"") En éste momento necesito que en la fórmula de las celdas ubicada en la columna "Keywords!B:B", los valores de "Constructors!B2", "Constructors!B3", "Constructors!B4", lleguen hasta el "Constructors!B46" y en la celda "Keywords!B47" tenga la fórmula volviendo a contar a partir del número "2" ("Constructors!B2"...). Otro punto, es que hasta hoy, los datos llegan hasta la celda "Constructors!46", pero mañana podría variar, entonces creo que podría resolverse conociendo cuál es la última celda de "Constructors!B:B" que tiene contenido. Algo parecido necesito con "Constructors"!D2" y "Constructors!E2", pero con que me ofrezcan apoyo con la primera ("Constructors"!B2"), creo que podré seguir por mi cuenta. Estimados amigos, ¿Saben cómo puedo lograrlo? Muchas gracias de antemano. Mi archivo.xlsx
  8. Hola Antoni: Si señor, eso es. Como siempre: eres un maestrazo. Este tema se puede marcar como solucionado. Muchas gracias.
  9. Buenos días amigos: Quiero saber cómo calcular cuántos años hay entre dos fechas. Por ejemplo: Entre 01/01/2018 y 20/01/2018 han pasado 0 años. Entre 22/01/2017 y 20/01/2018 han pasado 0 años. Entre 22/01/2017 y 23/01/2018 ha pasado 1 año. Yo estuve intentando hacerlo así: If DateDiff("yyyy", Range("A2").Value, Range("B2").Value) < 18 Then Range("C2").Value = "FECHA_EXPEDICION" End If Pero la función DateDiff() calcula tendiendo en cuenta los años y no los días y los meses. Por lo cual, en las primeras dos opciones mostradas más arriba, podría mostrar como resultado 1, cuando realmente no ha pasado un año. Gracias de antemano por sus respuestas.
  10. Después de quemar cerebro, logré dar con la solución. Es la siguiente: For x = 2 To Errores.Range("A" & Rows.Count).End(xlUp).Row igual1 = InStr(Errores.Range("A" & x), "ID_TIPO_DOCUMENTO=") + 18 igual2 = InStr(Errores.Range("A" & x), "NUM_DOCUMENTO=") + 14 If igual1 > 0 And igual2 > 0 Then TipoDocumento = Mid(Errores.Range("A" & x), igual1, 2) Documento = Trim(Mid(Errores.Range("A" & x), igual2, (InStr(Errores.Range("A" & x), "ID_TIPO_DOCUMENTO=") - (igual2 + 1)))) For Registro = 2 To LaHoja1.Range("A" & Rows.Count).End(xlUp).Row If CStr(LaHoja1.Range("C" & Registro)) = TipoDocumento And _ CStr(LaHoja1.Range("D" & Registro)) = Documento Then LaHoja1.Range("G" & Registro) = "ERROR" Exit For End If Next End If Next Gracias a Gerson por su respuesta. El tema puede marcarse como solucionado. Buena tarde para todos.
  11. Y para encontrar el ID del tipo de documento, se pondría algo así en algún lugar: startPositionTipo = InStr(Errores.Range("A" & x), "ID_TIPO_DOCUMENTO=") + 18 numberOfCharactersTipo = 2 tipo = Mid(Errores.Range("A" & x), startPositionTipo, numberOfCharactersTipo)
  12. Aunque todavía no sé como integrarlo en el script actual, creo que para obtener el numero de documento, iría algo así en algún lugar: startPositionDocumento = InStr(Errores.Range("A" & x), "NUM_DOCUMENTO=") + 14 numberOfCharactersDocumento = InStr(Errores.Range("A" & x), "ID_TIPO_DOCUMENTO=") - startPositionDocumento documento = Mid(Errores.Range("A" & x), startPositionDocumento, numberOfCharactersDocumento)
  13. Buenas tardes amigos: Tengo el siguiente valor en la celda "A2": PRO_CONSECUTIVO=91366,NUM_DOCUMENTO=1113695780,ID_TIPO_DOCUMENTO=CC,SEMESTRE=1,AÑO=2017 ¿Cómo tomo el NUM_DOCUMENTO (el número que está después del símbolo igual =)? Sabiendo que el número en PRO_CONSECUTIVO no siempre tiene el mismo número de dígitos. Logré hacerlo como fórmula de Excel, pero quisiera saber cómo hacerlo con VBA: =EXTRAE(A2;(ENCONTRAR("NUM_DOCUMENTO=";A2;1)+14);(ENCONTRAR(",ID_TIPO_DOCU";A2;1))-(ENCONTRAR("NUM_DOCUMENTO=";A2;1)+14)) El formato era anteriormente así: ID_TIPO_DOCUMENTO=TI,NUM_DOCUMENTO=1035832031 Y anteriormente lo tomaba de la siguiente manera: For x = 2 To Errores.Range("A" & Rows.Count).End(xlUp).Row igual1 = InStr(Errores.Range("A" & x), "=") igual2 = InStrRev(Errores.Range("A" & x), "=") If igual1 > 0 And igual2 > 0 Then TipoDocumento = Mid(Errores.Range("A" & x), igual1 + 1, 2) Documento = Trim(Mid(Errores.Range("A" & x), igual2 + 1)) End If Next Comparto el archivo completo (merlyn.vba) donde tengo el código completo que quedó obsoleto y el archivo de Excel en el que estoy trabajando (archivo1.xlsx). Si me falta algún detalle para facilitar la respuesta, por favor déjenme saber. Gracias de antemano por sus respuestas. merlyn.vba archivo1.xlsx
  14. Hola Halpox: Si, ya está solucionado. Gracias.
  15. Hola Abraham: Gracias por tu oportuna respuesta. Te cuento que funcionó la segunda. Cuando pongo la primera, el sistema me muestra el siguiente error: Se ha producido el error "1004" en tiempo de ejecución. Nuevamente gracias.
×
×
  • Create New...

Important Information

Privacy Policy


CTA Templates.png