Jump to content

Marco Corrales

Members
  • Content Count

    121
  • Joined

  • Last visited

About Marco Corrales

  • Rank
    Advanced Member
  • Birthday 08/31/1979

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. Hola Abraham, gusto saludarle. En 26 visualizaciones, nadie lo solicitó. Se que el foro lo solicita como parte de sus reglas, pero no para todos los casos es aplicable. Disculpeme, pero, con todo respeto, esto me suena más a excusa que otra cosa. Pero igual yo estoy muy agradecido con este foro, siempre me han ayudado mucho, por una que no, no se cae el mundo. Buen día Abraham,
  2. Buenos días. Gusto saluarles. Hay 26 vistas y ninguna respuesta, por lo que presumo, no se va a responder, entonces, administradores, favor cerrar este tema. Gracias,
  3. Buenos días Renato, gusto saludarle. No entendí muy bien si necesita es una macro, siendo que con una función, lo puede resolver perfectamente. En la celda B5 digité la siguiente función: =BUSCARV(B4;Fuente!A2:B21;2;0) El problema que usted tiene es en el formato de la celda B4, cambielo a formato de texto y la fórmula que le dí le funciona perfectamente. Con gusto,
  4. Buenos días, gusto saludarles. Tengo una herramienta que imprime en PDF, con el siguiente código: Sub ExportPDF() Dim sResultadoTipoICM As String Dim sNombreProducto As String sResultadoTipoICM = Hoja3.[O5].Value If MsgBox("Antes de imprimir en PDF debe guardar el archivo en formato de Excel." & vbNewLine & _ "" & vbNewLine & _ "Tenga en cuenta que la impresión en PDF es el último paso en el uso del ICM.", _ vbYesNo, "¿ Ya guardó el ICM en formato de Excel?") = vbYes Then If sResultadoTipoICM = "proTarjetas" Or sResultadoTipoICM = "proSeguimiento" Then Sheets(Array("Informe Cualitativo")).Select Else Sheets(Array("Informe Cualitativo", "Planteamiento")).Select End If ' NOMBRAR ARCHIVO Y SELECCIONAR CARPETA Do fName = Application.GetSaveAsFilename(InitialFileName:="Digite el nombre del ICM", Title:="Por favor ingrese nombre de archivo y seleccione carpeta") Loop Until fName <> False ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=fName, _ Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:= _ False, OpenAfterPublish:=False End If End Sub Lo que pasa es que me imprime la hoja "Planteamiento" completamente, no solo el área de impresión y eso no me sirve, por lo que cambié a que solamente me tome los rangos de impresión, para lo cual tengo la siguiente macro: Sub ExportPDF() Dim sResultadoTipoICM As String Dim r1, r2, r3, r4, rng, rng2 As Range Set r1 = Hoja1.Range("AreaDeImpresionCualitativo1") Set r2 = Hoja1.Range("AreaDeImpresionCualitativo2") Set r3 = Hoja1.Range("area_impresion_hoja1_3") Set r4 = Hoja8.Range("print_area_planteamiento") Set rng = Union(r1, r2, r3, r4) Set rng2 = Union(r1, r2, r3) sResultadoTipoICM = Hoja3.[O5].Value If MsgBox("Antes de imprimir en PDF debe guardar el archivo en formato de Excel." & vbNewLine & _ "" & vbNewLine & _ "Tenga en cuenta que la impresión en PDF es el último paso en el uso del ICM.", _ vbYesNo, "¿ Ya guardó el ICM en formato de Excel?") = vbYes Then If sResultadoTipoICM = "proSeguimiento" Then rng2.Select Else rng.Select End If ' NOMBRAR ARCHIVO Y SELECCIONAR CARPETA Do fName = Application.GetSaveAsFilename(InitialFileName:="Digite el nombre del ICM", Title:="Por favor ingrese nombre de archivo y seleccione carpeta") Loop Until fName <> False Selection.ExportAsFixedFormat Type:=xlTypePDF, fileName:=fName, _ Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:= _ False, OpenAfterPublish:=False End If End Sub Sin embargo no me funciona, ya que según entiendo, la Union, no me permite unir más de 3 rangos, por lo que cuando la respuesta es rng, me deja el r4 por fuera. Las consultas son: 1. ¿Cómo podré hacer para que todos los rangos sean tomados en cuenta? 2. ¿Cómo podré prescindir del .select. para optimizar el código? Les agradezco mucho su tiempo, conocimiento y colaboración que me puedan brindar. Buen día y quedo atento.
  5. Exacto, eso era. Funciona perfectamente. Muchas gracias Alexander. Admin: favor cerrar el tema.
  6. Para ampliar, el userform que contiene los checkBox en mención, emerge cuando el usuario se posiciona en la siguientes celdas: If Target.Address = "$E$115:$H$115" Or Target.Address = "$I$115:$L$115" Or Target.Address = "$D$38:$F$38" _ Or Target.Address = "$G$38:$I$38" Or Target.Address = "$J$38:$L$38" Then If frm_dias_pago.Visible = False Then frm_dias_pago.Show End If End If Por lo que no siempre está activo o visible en la hoja. Lo comento por si eso fuese lo que está afectando el código que me enviaste.
  7. Hola Alexander. Gracias por tu ayuda! Sí, tienes toda la razón, pero es que el archivo es demasiado grande y contiene información confidencial de mi trabajo. Pero veo que comprendiste totalmente lo que necesitaba; sin embargo; cuando entra al For, se brinca el IF (no entra) y de una vez sale de la función. Que será? Ya que ni siquiera me da un error!
  8. Buenas tardes, gusto saludarles. Primero que nada comentarles que tengo toda la mañana investigando y recurro a ustedes en última instancia. Tengo el siguiente código: Private Sub lbl_aceptar_Click() If ActiveCell.Address = "$E$115" Then If check_box_1.Value = True Then Hoja1.Range("$E$115").Value = check_box_1.Caption ElseIf check_box_2.Value = True Then Hoja1.Range("$E$115").Value = check_box_2.Caption ElseIf check_box_3.Value = True Then Hoja1.Range("$E$115").Value = check_box_3.Caption End If End If If ActiveCell.Address = "$I$115" Then If check_box_1.Value = True Then Hoja1.Range("$I$115").Value = check_box_1.Caption ElseIf check_box_2.Value = True Then Hoja1.Range("$I$115").Value = check_box_2.Caption ElseIf check_box_3.Value = True Then Hoja1.Range("$I$115").Value = check_box_3.Caption End If End If End Sub Funciona muy bien, pero, me gustaría poder resumirlo y/o hacerlo "dinámico" con algo parecido a esto: Private Sub lbl_aceptar_Click() ActiveCell.Value = MSForms.CheckBox.Checked.Caption End Sub Es decir, que la celda activa, tome como valor el caption del CheckBox seleccionado. Pero no me funciona; lo he intentado de varias maneras, pero no lo logro. Creo que lo que necesito, salvo mejor criterio, es saber cuál de los checkBox fue seleccionado por el usuario. Quiero hacerlo general, para no tener que estar dando el nombre del CheckBox ni de la celda activa. El formulario tiene varios CheckBox. Les agradezco su ayuda.
  9. Va perfecto Leopoldo, muchísimas gracias. Antoni, cómo vas? Estoy de acuerdo con vos, siempre es mejor investigar para aprender mejor, en este caso ya había investigado sobre el Intersect, pero me comprometía otro funcionamiento, seguramente no lo había aplicado bien, por eso ya en última instancia recurro a ustedes y trato de ser muy especifico en mis consultas. Les agradezco muchísimo su tiempo y conocimiento. Buen día a todos, Admin: Favor cerrar el tema.
  10. Hola, gracias a ambos! Voy a probar y le comento. Le agradezco mucho,
  11. Buenos días, gusto saludarles. Tengo un problemita con la siguiente macro: Private Sub Worksheet_Change(ByVal Target As Range) On Error Resume Next 'If Target.Address = "$B$160:$B$219" Then If Target.Value = "Hipoteca" Then mostrar_filas_hipoteca ocultar_filas_vacias ElseIf Target.Value = "Valores" Then mostrar_filas_valores ocultar_filas_vacias ElseIf Target.Value = "Prenda" Then mostrar_filas_prenda ocultar_filas_vacias ElseIf Target.Value <> "Hipoteca" Or Target.Value <> "Valores" Or Target.Value <> "Prenda" Then ocultar_filas_vacias End If If Hoja3.[R7].Value <> "" Then SiguienteFilaDisponible End If 'End If End Sub Otras de las macro que llama son: Public Sub mostrar_filas_hipoteca() For Each r In Range("$B$160:$B$219") If r.Value = "Hipoteca" Then r.EntireRow.Hidden = False End If Next End Sub La macro está directamente en la Hoja1 y las otras que llama, están en un módulo. El problema que tengo es que necesito que solo se active cuando está en el rango "B160:B219", pero eso no sucede así, ya que la macro corre en cualquier casilla en que le dé ENTER, de toda la hoja. Lo intenté con un IF, que aparece ahí comentado, pero tampoco funciona. Agradezco la ayuda que me puedan brindar. Saludes,
  12. Ya lo resolví, le pasé un parámetro a la clave, de esta manera: With Hoja7 Hoja7.Unprotect (s1234) Así llama el parámetro, ya que esa no es la clave real, y me desprotege la hoja que necesito. Les agradezco mucho toda la ayuda brindada. Administradores: ya podemos cerrar el tema. Gracias,
  13. ...ya se qué es, es que la Hoja7 está protegida y aunque tengo esta instrucción: With Hoja7 Desproteger (...) Sub Desproteger() ActiveSheet.Unprotect ("123") End Sub no desprotege la Hoja7, sino, la que está activa (ActiveSheet.Unprotect). ¿Cómo lo podré resolver?
  14. Buenos días Abraham. El problema es que el archivo es muy pesado y aquí en mi trabajo tenemos restringidas muchas paginas para compartir archivos. Les estaba alistando un archivo para poderlo subir, con menos peso y probándolo ya sin módulos ni hojas adicionales, la macro sí corrió desde otra hoja. Entonces no se lo que estará pasando...
  15. Buenos días Abraham. El problema es que el archivo es muy pesado y aquí en mi trabajo tenemos restringidas muchas paginas para compartir archivos. Les estaba alistando un archivo para poderlo subir, con menos peso y probándolo ya sin módulos ni hojas adicionales, la macro sí corrió desde otra hoja. Entonces no se lo que estará pasando...
×
×
  • Create New...

Important Information

Privacy Policy