Jump to content

Jose BN

Members
  • Content Count

    121
  • Joined

  • Last visited

Everything posted by Jose BN

  1. Muchas gracias! Quedo satisfecho con el aporte; si lo desean pueden cerrar el tema....
  2. Fíjate a ver si entendí bien: Sub carpeta() ruta = InputBox("ingresar la ruta") Range("i1").Select Do While ActiveCell.Value <> "" MkDir (ruta & "\" & ActiveCell.Value) ActiveCell.Offset(1, 0).Select Loop End Sub
  3. Gersón ha queda muy bien. Sub CopiarColumnasIntercaladas_GP() '************ by Gerson Pineda ************ '************ 31/Oct/2019 ************ Application.ScreenUpdating = False ruta = ("C:\Users\jcarce\Desktop\Libro1JB.xlsx") vuf = Range("A" & Rows.Count).End(xlUp).Row Workbooks.Open ruta: ThisWorkbook.Activate Union(Range("B5:B" & vuf), Range("D5:I" & vuf)).Copy _ Workbooks("Libro1JB.xlsx").Worksheets(1).Range("A1") Workbooks("Libro1JB.xlsx").Close 1 Application.ScreenUpdating = True End Sub Me podrías explicar esta parte: a qué se debe el _ del copy? Puedo interpretar que B está de intercalada de las columnas D hasta I (estas ultimas son continuas)siendo esta la forma de unir los datos al estar intercalados. Union(Range("B5:B" & vuf), Range("D5:I" & vuf)).Copy _ Por ultimo para aprendizaje: porqué se debe contar A? hubiera muerto pensado que los datos siempre deberían haber partido de B y posiblemente no lo hubiera solucionado nunca!!!!, a pesar de haber sido adoptado por tu familia(tú y tú abuelo). Pero llegamos donde grandes personas como: tierra_pampa , Antoni , Gerson Pineda EXISTEN EN EL EXCEL AYUDA! vuf = Range("A" & Rows.Count).End(xlUp).Row Saludos
  4. Estimado Antoni. Adjunto el fichero y lo poco francamente que he avanzado ya dirás que tan mal va mi camino. Saludos J Consulta foro.xlsm
  5. Muchas gracias! tierra_pampa promesa que la próxima incluiré el archivo. La modificación trabaja bien, solo que esta copia únicamente los datos de la columna B, dejando por fuera:B,D,E,F,G,H,I será abusivo si me ayudas con esta parte. Saludos JB
  6. Hola! amig@s del foro, quisiera solicitarles el apoyo con la siguiente macro que intento realizar con la intención de copiar los datos que inician en la celda 5 de las columnas("B,D,E,F,G,H,I) de mi libro activo ("Libro1") a copiarlas a un "libro2" a partir de la celda "A1" de la hoja1 de este ultimo, lo cual no he logrado tener éxito: Sub copiarDatosDeArchivo1A2() Dim x As Workbook Dim y As Workbook '## Abrimos ambos ficheros: Set x = ActiveWorkbook Set y = Workbooks.Open("C:\Users\jballadares\Desktop\CSV\JBLibro4.xlsx") 'Copiamos los datos que queramos del primer libro de excel: x.Sheets("RV").ActiveSheet.Range("B65536").End(xlUp).Copy 'Pegamos en el otro libro: y.Sheets("Hoja1").Range("A1").PasteSpecial 'Cerramos el fichero: x.Close End Sub Agradezco la ayuda que me puedan brindar. Saludos JB
  7. Gran Antoni, Gersón y tierra_pampa, muchas gracias!!! Los ejemplos son geniales, que eliminan el uso del botón parte en la que estaba sin avanzar. Pueden concluir el tema.. Que continúes disfrutando esas vacaciones amigo, aquí nos hacen falta!!! If Me.txtFiltro1.Value = "" Then Exit Sub Me.ListBox1.Clear j = 1 For i = 1 To 18 If Cells(i, j).Offset(0, 2).Value = CInt(Me.txtFiltro1.Value) Then Me.ListBox1.AddItem Cells(i, j) Me.ListBox1.List(Me.ListBox1.ListCount - 1, 1) = Cells(i, j).Offset(0, 1) Me.ListBox1.List(Me.ListBox1.ListCount - 1, 2) = Cells(i, j).Offset(0, 2) Me.ListBox1.List(Me.ListBox1.ListCount - 1, 3) = Cells(i, j).Offset(0, 3) Else End If Next i Exit Sub Errores: MsgBox "No se encuentra.", vbExclamation, "Información"
  8. Julio según logro comprender el valor 405.64 se encuentra entre 385 y 414 de la hoja fecha por ende la fecha que debe colocar es: 19/02/2018, de ser esto correcto la formula que propone Gersón lo logra con éxito... Saludos, J Ejemplo (1).xlsx
  9. Buenas tardes, Amigos del foro quisiera solicitarles su acostumbrada ayuda a orientarme en mi siguiente necesidad, cómo puedo lograr que el listbox que he insertado en el formulario filtre los datos en base al criterio seleccionado en el combobox, ojalá sin la necesidad de requerir aplicar el filtro mediante un botón Agradezco la ayuda. Saludos JB CONSULTA COMBOBOX.xlsm
  10. Gran Antoni la voz de la experiencia es sabia...no es necesario complicar más la cosa, en tu recomendación se cumple que cuando no exista valor en H1 no se ejecutará el recordatorio y al contar con el criterio se activa la ejecución, solo creo que era una cuestión de sordera de mi parte a lo que me indicabas. Realmente te lo agradezco... Primo Gersón a ti también las gracias y a tu abuelo son un gran familia, estoy seguro que los continuaré viendo por estos lados.... Pueden cerrar el tema. Saludos cordiales Jose
  11. Gersón primero gracias!!! por incluirme en tan bondosa familia.... Paso aclarar lo siguiente: Mi idea es que al abril el libro si la condición se encuentra el valor "Activar" en la celda mencionada esta dispare una macro que llamado recordar con una seria de mensajes para el usuario lo cual debe ocurrir en una hora establecida en el evento(Application.OnTime), hasta aqui el fin que busco, como le comentaba Antonio para cancelar este "disparo" quería mediante una segunda condición a la que llamé "Null" cuando este valor se cumple cancelar el evento de la macro recordar, que se dispara en la hora ya comentada, evitándole con esto que el usuario deba cancelar el evento desde editor de vb si en algún momento ya no se hace necesario este recordatorio y para que no se vuelva molesto este aviso quería cancelarlo con el evento: Sub CancelTimer2() On Error Resume Next Application.OnTime EarliestTime:=RunWhen, Procedure:=cRunWhat, _ Schedule:=False End Sub Ahora solo me quedan las corrección optimas que seguro saldrá de sus experiencias y grandes conocimientos.
  12. Estimado Antoni es muy sabia la lógica que planteas, pero pensando en un mañana que no sea quien utilice el archivo y sin tener que la persona este oligada a ingresar al editor vb estaba considerando la opción de " cancelar" el proceso mediante una condición a la he llamAdo NULL invoque al código: Sub CancelTimer2() On Error Resume Next Application.OnTime EarliestTime:=RunWhen, Procedure:=cRunWhat, _ Schedule:=False End Sub Será que tiene buen camino lo que busco? Saludos JB
  13. Antoni del tiempo que tengo de visitar el foro tú y el resto del equipo son seres extraordinarios de gran voluntad y bondad; solo espero que a veces no se pierda la buena acción de ayudar a una persona verdaderamente desorientado. Mis más cordiales saludos; JB
  14. Abraham retiro lo expuesto, he comprobado donde radica el error: Private Sub Workbook_Open() MsgBox "Es importante recordar enviar el correo de los marchamos retirados al Laboratorio!!" & vbNewLine & "Revisar el retiro de las muestras de leche en almacenes", vbExclamation, "JBalladares ---- Aviso automático" 'Application.OnTime TimeValue("10:23:00"), "Recordar" 'controla si se ingresó un dato en H1 If ActiveCell(False, False) = "H1" Then 'controla si el valor en H1 = ACTIVAR If ActiveCell = ACTIVAR Then Application.OnTime TimeValue("19:02:00"), "Recordar" End If If ActiveCell(False, False) = "H2" Then 'controla si el valor en H2 = NULL If ActiveCell = Null Then Call CancelTimer2 End If End Sub Pero el inconveniente que me surge ahora es que no activa el evento en la hora establecida.
  15. Abraham yendo por partes, la recomendación parece ir por buen camino, pero seguramente de mi parte algo anda mal, me salta el siguiente error, pero ejecutando la macro por si sola corre sin ningún inconveniente:
  16. Buenas tardes, Amig@s del foro quisiera solicitarles apoyo estoy intentando conseguir una macro que se ejecute en una hora determinada para esto estoy utilizado el siguiente evento: Private Sub Workbook_Open() MsgBox "Es importante recordar enviar el correo de los marchamos retirados al Laboratorio!!" & vbNewLine & "Revisar el retiro de las muestras de leche en almacenes", vbExclamation, "JBalladares ---- Aviso automático" Application.OnTime TimeValue("17:21:00"), "Recordar" End sub Hasta ahí cuando el libro se abre, se ejecuta una macro que lanza un MsgBox en la hora establecida, pero quisiera condicionarlo a que si el valor de una celda contiene un determinado texto ejecute o cancele el evento a la hora establecida, queriendo simular un ON & OFF. para lo cual lo estoy intentando realizar con el siguiente código, pero me salta el siguiente error Private Sub Workbook_Open() MsgBox "Es importante recordar enviar el correo de los marchamos retirados al Laboratorio!!" & vbNewLine & "Revisar el retiro de las muestras de leche en almacenes", vbExclamation, "JBalladares ---- Aviso automático" 'controla si se ingresó un dato en H1 If Target.Address(False, False) = "H1" Then 'controla si el valor en A1 = ACTIVAR If Target.Value = "ACTIVAR" Then Application.OnTime TimeValue("17:21:00"), "Recordar" End If If Target.Address(False, False) = "H2" Then 'controla si el valor en H2 = NULL If Target.Value = "NULL" Then Call CancelTimer2 End If End Sub
  17. Hola! Gersón a vba solo le hace falta hablar!.... por el momento la forma correcta que mencionas, no la había logrado encontrar en mis lecturas hasta llegar a este genial sitio y toparme con un personal el doble de genial (tú)que me ayudo a resolver el problema, ha quedado claro el error y solucionado. Tema concluido. Saludos cordiales JB
  18. Buenos días! Amigos estoy buscando una solución que me permita enviar un correo en nombre de otra cuenta, en lo que he logrado leer es posible, la siguiente instrucción trabaja bien, pero al momento de intentar agregar .AddAttachment "C:\Users\jballadares\Desktop\Comprobante.pdf", me salta el siguiente error (imagen adjunta), podrían ayudarme como resolverlo de forma que me permita adjuntar un documento : Sub SendEmailOnBehalf() Application.ScreenUpdating = False Application.DisplayAlerts = False Dim olMailItm As Outlook.MailItem Set olMailItm = Outlook.CreateItem(olMailItem) With olMailItm .SentOnBehalfOfName = "Boletarecolectores@dospinos.com" 'indicamos la cuenta desde donde enviar el email (en nombre de...) .To = Hoja11.Range("B5").Value .Subject = "Notificación Automática Comprobante " & " " & Range("j4") '"Asunto"" .Body = "Estimado usuario adjunto encontrará el detalle del registro de horas extras reportadas, este correo es generado en forma automática se le ruega no responder." & vbNewLine & "Saludos cordiales" .Display .Send End With Application.ScreenUpdating = True Application.DisplayAlerts = True End Sub
  19. Abusando un poco este un ejemplos obra Héctor compartió hace un tiempo, si notas creo que se adaptan a los criterios que buscas aplicar, solo ajustarlo a lo deseado: Sub Aplicar_FC() Dim Color, Cond, n As Byte Color = Array(3, 6, 50) Cond = Array(">20", ">15", "<=15") Range("f2:f24").Select With Selection With .FormatConditions .Delete For n = 1 To 3 .Add Type:=xlExpression, Formula1:="=$h$1-f2" & Cond(n) With .Parent.FormatConditions(n) .Font.Bold = True .Interior.ColorIndex = Color(n) End With Next End With End With End Sub
  20. Marco revisa creo que esto te podría servir: Sub formato() Dim celda As Object Dim rng As Range 'con INPUTBOX seleccionamos un rango de celdas Set rng = Application.InputBox("en que rango quieres aplicar el formato??", Type:=8) 'recorremos cada celda del rango seleccionado For Each celda In rng valor = celda.Value 'asignamos colores según el valor de la celda If valor = "LIBRA" Then celda.Interior.Color = 65535 ElseIf valor = "PERMISO" Then celda.Interior.Color = 15773696 ElseIf valor = "GUARDIA" Then celda.Interior.Color = 255 ElseIf valor = "CONSULTA" Then celda.Interior.Color = 5296274 End If Next celda End Sub
  21. Por cierto me parece se adapta a lo que buscas en tu otro post.
  22. Karen no hay error en el formato! es solo el directorio donde se busca la imagen. El archivo esta estupendo!!! tierra pampa. Saludos, JB
×
×
  • Create New...

Important Information

Privacy Policy