Jump to content

Milton Cordova

Members
  • Content Count

    286
  • Joined

  • Last visited

  • Days Won

    1

Everything posted by Milton Cordova

  1. Gracias por tu ayuda con excelencia Temas solucionado cerrado
  2. Saludos Antoni disculopas por indicarte que hice el cambio pero no funciona quiza deba ingresar algun otro evento Private Sub Worksheet_Calcualte(ByVal Target As Range) Application.ScreenUpdating = False If Not Intersect(Target, Range("A1")) Is Nothing Then If Range("A1").Value = 1 Then ActiveSheet.Shapes("Rectangle 1").Select ............. end sub Gracias
  3. Saludos me pueden ayudar muy comedidamente con la siguiente macro: mediante esta macro solo funciona cuando en la celda A1 ingreso manualmente al valor ya sea 1 o 0, lo que necesito es que en la celda A1 el valor venga de una formula de la celda B5. Otra situación es cuando se ejecuta con 1 salta a la celda E7 y cuando se ejecuta con 0 salta a la celda B14, lo que deseo es que no salte ni seleccione ninguna celda. La hoja la he protegido con una contraseña "X". Favor analizar esta macro que he logrado Private Sub Worksheet_Change(ByVal Target As Range) ActiveSheet.Unprotect "X" Application.ScreenUpdating = False If Not Intersect(Target, Range("A1")) Is Nothing Then If Range("A1").Value = 1 Then ActiveSheet.Shapes("Rectangle 1").Select Selection.Font.ColorIndex = 0 ActiveSheet.Shapes("Rectangle 2").Select Selection.Font.ColorIndex = 0 Range("C7").Select ActiveSheet.Shapes("Line 3").Select Selection.ShapeRange.Line.ForeColor.SchemeColor = 64 Selection.ShapeRange.Line.Visible = msoTrue ActiveSheet.Protect "X" Else If Range("A1").Value = 0 Then ActiveSheet.Shapes("Rectangle 1").Select Selection.Font.ColorIndex = 2 ActiveSheet.Shapes("Rectangle 2").Select Selection.Font.ColorIndex = 2 Range("B14").Select ActiveSheet.Shapes("Line 3").Select Selection.ShapeRange.Line.ForeColor.SchemeColor = 9 Selection.ShapeRange.Line.Visible = msoTrue ActiveSheet.Protect "X" End If End If End If End Sub Cambia color Texto de imagenes.xls
  4. Saludos mediante esta macro solo funciona cuando en la celda A1 ingreso manualmente al valor ya sea 1 o 0, lo que necesito es que en la celda A1 el valor venga de una formula de la celda B5. Otra situacion es cuando se ejecuta con 1 salta a la celda E7 y cuando se ejecuta con 0 salta a la cleda B14, lo que deseo es que no salte ni seleccione ninguna celda. La hoja la he protejido con una contraseña "X". Favor analizar esta macro que he logrado Private Sub Worksheet_Change(ByVal Target As Range) ActiveSheet.Unprotect "X" Application.ScreenUpdating = False If Not Intersect(Target, Range("A1")) Is Nothing Then If Range("A1").Value = 1 Then ActiveSheet.Shapes("Rectangle 1").Select Selection.Font.ColorIndex = 0 ActiveSheet.Shapes("Rectangle 2").Select Selection.Font.ColorIndex = 0 Range("C7").Select ActiveSheet.Shapes("Line 3").Select Selection.ShapeRange.Line.ForeColor.SchemeColor = 64 Selection.ShapeRange.Line.Visible = msoTrue ActiveSheet.Protect "X" Else If Range("A1").Value = 0 Then ActiveSheet.Shapes("Rectangle 1").Select Selection.Font.ColorIndex = 2 ActiveSheet.Shapes("Rectangle 2").Select Selection.Font.ColorIndex = 2 Range("B14").Select ActiveSheet.Shapes("Line 3").Select Selection.ShapeRange.Line.ForeColor.SchemeColor = 9 Selection.ShapeRange.Line.Visible = msoTrue ActiveSheet.Protect "X" End If End If End If End Sub subo un nuevo ejemplo Cambia color Texto de imagenes.xls
  5. Saludos Antoni, gracias por la contestacion, el adjunto recibido esta cambiando solo la linea mas no el texto, en al archivo enviado puse dos ejemplos el uno con texto y el otro hacia la derecha sin texto, lo que deseo es que solamente el un ejemplo debe ir, el cual consta de Rectángulo 1, Rectángulo 2, Línea 3, los cuales deben practicamente ocultar su vista poniendo el color blanco si A1 es 0 y muestar con color negro si A1=0 Puse la macro que me enviaste, me da error 438 en tiempo de ejecucion Selection.ShapeRange.TextFrame2.TextRange.Font.Fill.ForeColor.RGB = RGB(R, G, B) El objeto no admite esta prpiedad o método Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address = "$A$1" Then Select Case Target Case 0: Colorear 255, 255, 255 Case 1: Colorear 0, 0, 0 End Select End If End Sub '-- Private Sub Colorear(R, G, B) ActiveSheet.Shapes.Range(Array("Rectángulo 1", "Rectángulo 2")).Select Selection.ShapeRange.TextFrame2.TextRange.Font.Fill.ForeColor.RGB = RGB(R, G, B) ActiveSheet.Shapes.Range(Array("Línea 3")).Select Selection.ShapeRange.Line.ForeColor.RGB = RGB(R, G, B) ActiveCell.Select End Sub
  6. Saludos estimados foristas, me pueden ayudar en la siguiente consulta: tengo 3 imagnes, 2 rectangulos y una linea que divide a estos. Los rectangulos estan con texto negro al igual que el color de la linea. Lo que deseo es alguna solucion para que el color negro se de cuando en la celda A1 este el valor de 1 caso contrario si an A1 =0 el color sea blanco. Subo ejem. Gracias Cambia color Texto de imagenes.xls
  7. Saludos disculpas no sabia esto, esto hace que se aprenda mas. Como siempre Gracias Temas cerrado solucionado
  8. Si estimado Antony estoy de acuerdo no puedo deshacer lo que he realizado con la macro, pero lo que hago directamente manualmente en la hoja debería darme esa opcion. En el libro tengo varias hojas con macros y solamente en la que tengo esta macro no me permite deshacer los eventos que realizo manualmente. En las otras hojas no hay problema, para comprobar le quite la macro y si funciona la opcion deshacer. Saco como conclucion que es esta macro la que de alguna manera me impide, ya que en las otras macros en otras hojas no me impiden que eventos que realice los pueda deshacer. Antoni mil disculpas por esta insistencia, si leo con mucho detalle tus mensajes, que desde luego siempre han sido muy excelentes.
  9. Saludos estimado Antoni, lo que deseo indicar es que no deseo deshacer lo que he realizado con la macro, ya que esta macro lo que hace es al seleccionar la celda A7 o A20 mostrar una imagen. Lo que sucede es que la hoja se encuentra sin la funcion rehacer, esdecir si realizo cualquier trabajo dentro de la Hoja no se puede rehacer. He comprobado quitando la macro y automaticamente se activa en undo. he colocado With Application .EnableEvents = False .Undo .EnableEvents = True End With da error en .undo para excel 2003 Gracias
  10. macro actualizada Private Sub Worksheet_SelectionChange(ByVal Target As Range) Dim LimiteSuperior As Long, LimiteIzquierdo As Long If Not Application.Intersect(Target, Range("C8")) Is Nothing Then Sheets("ABC").Shapes("CALCULO").Visible = True Let LimiteSuperior = Target.Offset(-3, 0).Top Let LimiteIzquierdo = Range("E8").Left With ActiveSheet.Shapes("CALCULO") .Top = LimiteSuperior .Left = LimiteIzquierdo End With Else Sheets("ABC").Shapes("CALCULO").Visible = False End If If Not Application.Intersect(Target, Range("C20")) Is Nothing Then Sheets("ABC").Shapes("CALCULO").Visible = True Let LimiteSuperior = Target.Offset(-3, 0).Top Let LimiteIzquierdo = Range("E20").Left With ActiveSheet.Shapes("CALCULO") .Top = LimiteSuperior .Left = LimiteIzquierdo End With End If End Sub
  11. no hay como subir archivo sebrepasa el maximo permitido, lo que tiene es una imagen llamada CALCULO que se muestra al seleccionar la celda C7 , C20. Gracias
  12. Saludos por dos necesidades de esta macro: La macro solo esta activandose para la celda C7 deseo que funcione para la celda A20 En la hoja ABC, cualquier cambio que realice o ingreso de datos en otras celdas que es independiente de las celdas A7,A20 no se puede dehacer. Lo que deseo no es recuperar lo actuado por la macro ya que solo es una vista de una imagen al seleccionar la celda ya sea la C7 o C20, lo que sucede es que cuando trabajo en la Hoja ABC no se puede deshacer. En las otras Hojas si funciona UNDO, he realizado la comprobacion quitando esta macro y se activa o funciona normalmente cualquier cambio que realice se puede deshacer. Disculpas por la consulta Gracias
  13. saludos estimados foristas, alguien me puede ayudar en lo siguiente: tengo una macro que muestar una imagen solamente cuando el cursor selecciona las celdas C7 y B20 El problem se da cuando por esta macro se desactiva la funcion UNDO Si ingreso cualquier dato en otras celdas la opcion UNDO se desactiva, he probado quitando la macro y se soluciona. Gracias Private Sub Worksheet_SelectionChange(ByVal Target As Range) Dim LimiteSuperior As Long, LimiteIzquierdo As Long If Not Application.Intersect(Target, Range("C8")) Is Nothing Then Sheets("ABC").Shapes("CALCULO").Visible = True Let LimiteSuperior = Target.Offset(-3, 0).Top Let LimiteIzquierdo = Range("E8").Left With ActiveSheet.Shapes("CALCULO") .Top = LimiteSuperior .Left = LimiteIzquierdo End With Else Sheets("ABC").Shapes("CALCULO").Visible = False End If End Sub ACTIVAR UNDO.xls
  14. Saludos estimado Master la verdad que yi solucione de la manera quiza mas simple, es en verdad esta solucion la que funicona muy bien. Estas ayudas son las que espero si es posible para aplicar conocimientos cada vez con mas excelencia. Es incomod estar molestando por situaciones que para un grna conocimiento deben ser tan simples y básicas. Por todo ello Gracias siempre.
  15. Saludos inserte lo que me indicas pero no funciona, para mejor comprension adjunto Documento. Veo que esta seria la forma adecuada para la macro ya que la solucion que encontre es muy limitada y directa Then If .Value >= 0 Gracias por su seguimiento Macro actualizada Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean) If Not Intersect(Target, Range("k15:k70 ")) Is Nothing Then With Target fila = ActiveCell.Rows.Row columna = ActiveCell.Columns.Column If VBA.IsNumeric(Target) Then If .Value > 0 Then Range(Cells(.Row, .Column), Cells(.Row, "V")).ClearContents End With Cancel = True End If End Sub Limpia dinamicamente datos en Rango de Fila xx.xls
  16. Saludos solucione de la siguiente forma: Como lo que queria hacer es limpiar borrar datos valores de las filas del rango K:V haciendo clic derecho en la primera celda de la fila que tenga valor para lo cual debia seleccionar la celda inicial ya sea K, L, M, N……,V. Lo logre con la siguiente aplicación >= 0 If VBA.IsNumeric(Target) Then If .Value >= 0 Then Range(Cells(.Row, "K"), Cells(.Row, "V")).ClearContents Con lo cual siempre voy a dar clic desde K y va limpiar la fila desde K:V no importa en que columna comience el dato. Agradezco si hay alguna forma mas interesante se solucion.
  17. Saludos he intentado con esta macro. no funciona Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean) If Not Intersect(Target, Range("k15:k70 ")) Is Nothing Then With Target Fila = ActiveCell.Rows.Row columna = ActiveCell.Columns.Column If VBA.IsNumeric(Target) Then If .Value > 0 Then Range(Cells(fila, columna), Cells(fila, "V")).ClearContents End With Cancel = True End If End Sub
  18. Saludos disculpas por hacer una consulta sobre una macro que me ayudaron, la cual con clic derecho en fila K del rango K15:V70 Limpia lo que este en la fila desde K hasta V. Lo que deseo es que al hacer clic en cualquier celda de la columna K:V de la fila respectiva se limpie todo lo que esta hacia la derecha. Ejemplo si hago clic derecho en K15 limpia todo desde K15:V15 clic derecho L15 limpia todo desde L15:N15 clic derecho 15 limpia todo desde M15:N15....................... Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean) If Not Intersect(Target, Range("k15:k70 ")) Is Nothing Then With Target If VBA.IsNumeric(Target) Then If .Value > 0 Then Range(Cells(.Row, "K"), Cells(.Row, "V")).ClearContents End With Cancel = True End If End Sub Limpia dinamicamente datos en Rango de Fila.xls
  19. Saludos exclentes aportes y soluciones. Gracias Tema cerrado solucionado
  20. Doble click para limpiar rango_GP.xls
  21. Saludos he intentado con esto pero no funciona Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean) If Not Intersect(Target, Range("B10:B37")) Is Nothing Then With Target If VBA.IsNumeric(Target) Then If .Value > 0 Then Range(Cells(.Row, "B"), Cells(.Row, "M"), Cells(.Row, "T"), Cells(.Row, "X"), Cells(.Row, "Y"), Cells(.Row, "AL"), Cells(.Row, "AN"), Cells(.Row, "AP"), Cells(.Row, "AY")).ClearContents End With Cancel = True End If End Sub
  22. Saludos excelente solucion, disculpa por hacer una ultima consulta si ademas de borrar Range("B10:B37") tambien deseo que se borre el contenido de las celdas T, X, Y, AL, AN, AP, AY Gracias
  23. saludos estimados Masters, me pueden ayudar con la siguiente consulta Mediante una macro hago clic derecho en las celdas de la columna B10:B100 y automatocamente para cada fila correspondiente a la celda seleccionada se borra toda la informacion existente desde B:M ejm si hago clic derecho B10 se borra todo lo de B10:M10 la macro la he realizado para cada flia, cual seria la solucion para no tener que hacer linea por linea Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean) If Not Intersect(Target, Range("B10")) Is Nothing Then If Target > 0 Then Range("B10:M10").ClearContents Cancel = True End If End If If Not Intersect(Target, Range("B11")) Is Nothing Then If Target > 0 Then Range("B11:M11").ClearContents Cancel = True End If End If If Not Intersect(Target, Range("B12")) Is Nothing Then If Target > 0 Then Range("B12:M12").ClearContents Cancel = True End If ............................... End If End Sub adjunto documento clic limpia rangos Gracias CLIC LIMPIA RANGOS.xls
  24. Saludos les pido disculpas me puse a realizar todas las posibilidades y al fin pude dar con la solucion que me plantean en un evento distinto incluir la macro con la cual hado clic derecho y se borra la X. excelente ayuda y forma de enseñar y aprender mas cada dia Tema soluciuonado resuleto Gracias
×
×
  • Create New...

Important Information

Privacy Policy