Jump to content

Convertir un rango de números


Recommended Posts

Buenas tardes una consulta como puedo hacer una macro que al momento de ingresar estos datos (del 1 al 100) en la celda me convirtiera al dar enter automáticamente, entre los rangos de 1 a 5:

En la hoja A1 coloco 50 pero automáticamente debiera aparecer 3, como esta en la descripción de abajo.

De 1 punto a 11 puntos * 0,05 = 1 punto

De 31 puntos a 49 puntos * 0,05 = 2 puntos

DE 50 a 69 puntos *0,05 puntos = 3 puntos

DE 70 puntos a 89 puntos  *0,05 = 4 puntos

DE 90 puntos a 100 *0,05 = 5 puntos

La fórmula la tengo en una celda pero no hay espacio en mi hoja de impresión por eso deseo que haga esa conversión automáticamente al momento de ingresar esos datos.

>>> O existe una formula condicional eso sería más mejor.

Gracias.

Link to post
Share on other sites
Hace 36 minutos , 6luishao6 dijo:

En la hoja A1 coloco 50 ... que haga esa conversión automáticamente al momento de ingresar esos datos

si solo es para la celda [A1], copia/pega (o escribe) lo siguiente en el modulo de codigo de "esa" hoja:

Private Sub Worksheet_Change(ByVal Target As Range)
  If Target.Address <> "$A$1" Then Exit Sub Else On Error Resume Next
  Application.EnableEvents = False
  Target = Application.Match(Target, [{0,31,50,70,90}])
  Application.EnableEvents = True
End Sub

 

Link to post
Share on other sites
Hace 11 minutos , 6luishao6 dijo:

no funciona

te parece si adjuntas (una copia RE-DU-CI-DA de) TU modelo (EN archivo "de excel") ?

explica con claridad:

  • que tienes (y donde)
  • que necesitas (como, cuando y donde)
  • y que pasa entre 11 y 31 (???)
Edited by Héctor Miguel
Link to post
Share on other sites

lo vuelvo a plantear:

Buenas tardes una consulta como puedo hacer una macro que al momento de ingresar estos datos (del 1 al 100) en la celda me convirtiera al dar enter automáticamente, entre los rangos de 1 a 5:
En la hoja A1 coloco 50 pero automáticamente debiera aparecer 3. como esta en la descripción de abajo.
( Puntos x 0.05 = XX puntos es una fórmula de multiplicación.)
De 1 punto a 11 puntos * 0,05 = 1 punto
De 31 puntos a 49 puntos * 0,05 = 2 puntos
DE 50 a 69 puntos *0,05 puntos = 3 puntos
DE 70 puntos a 89 puntos *0,05 = 4 puntos
DE 90 puntos a 100 *0,05 = 5 puntos
La fórmula la tengo en una celda pero no hay espacio en mi hoja de impresión por eso deseo que haga esa conversión automáticamente al momento de ingresar esos datos.
>>> O existe una formula condicional eso sería más mejor.
Gracias.
 
enseguida te mandare el archivo reducido
 
Link to post
Share on other sites
Hace 13 minutos , 6luishao6 dijo:

enseguida te mandare el archivo reducido

mejor esperamos el archivo (con instrucciones y un caso desarrollado ?) porque tu (RE)planteamiento es lo mismo que el original (palabras mas o menos), y lo que sigue quedando "en el limbo" es esto:

Hace 14 minutos , 6luishao6 dijo:
De 1 punto a 11 puntos * 0,05 = 1 punto
De 31 puntos a 49 puntos * 0,05 = 2 puntos

que pasa entre 11 y 31 ?

Link to post
Share on other sites

la macro propuesta "no funciona" por los "detalles" que, si NO los expones en la consulta inicial, tampoco se tienen por que "adivinar" y  porque la adaptación que hiciste es incorrecta:

1) comparar un ".Address" (en vba) es sensible a las (may/min)usculas (a menos que cambies el modo de comparación), cambia a:

  If Target.Address <> "$U$17" Then Exit Sub Else On Error Resume Next

2) otros "detalles" de tu modelo son:
- un exagerado (AB)uso de celdas "combinadas" (sigo sin entender esa nece[si]dad)
- NO es "la única" celda con ese requerimiento (y ya estaba "advertido")

3) haz pruebas y... (no te guardes "detalles en el tintero" ?)

OJO: sigues SIN comentar que sucede con los rangos entre 11 y 31 (?????)

Edited by Héctor Miguel
Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Crear macros Excel

  • Posts

    • Ya lo he conseguido!!!  he puesto lo siguiente:  Private Sub UserForm_Initialize() With Me.ListBox1     .List = Hoja8.Range("N2:N63").SpecialCells(2).Value     .RemoveItem 0 End With End Sub   Ahora solo me queda un pequeño inconveniente, y es que al cerrar el excel me da este mensaje:  Cómo puedo hacer para que deje de salir??
    • Hola, podrían ayudarme con una formula simple para poder sumar desde una posición a otra, gracias sumas desde hasta.xlsx
    • Buenas noches. Maestros quisiera saber si se puede volver dinámico el rango a la derecha la propiedad RowSource de un ListBox. Es que tengo una base de datos a la cual de vez en cuando se le agregan columnas nuevas y quisiera se ampliara la selección a la derecha como lo hace hacia abajo. Ejemplo  ListBox1.RowSource = "A4:End(xlToRight)" & Range("A3").End(xlDown).Row Algo así, no se si se podrá.
    • Hola amigos, alguién tendrá un videotutorial o tutorial de como usar EXCEL VBA y MySQL para realizar insertar, guardar, borrar, modificar y actualizar desde formularios en vba o formularios en hojas de excel? he buscado ya por mucho en la web, y solo existe poca información y no me da claridad en el proceso de aprendizaje, si uds me pudieran brindar algún proyecto de ejemplo, o enlazarme o compartime un videotutorial, sería bueno para iniciar mi proyecto. Quedo abierto a sus comentarios y sugerencias
    • Buenas chicos tengo el siguiente problemilla. Mediante una macro intento acceder a un archivo csv. delimtado con puntos y comas. y al usar  Workbooks.Open Filename:="C:\Users\pc\Desktop\stock.csv"   me la abre mal    Si la abro normal me la abre perfectamente, he intentado un par de cosillas pero nada fracaso total. Si podéis arrojarme un poco de luz sobre esto os lo agradecería mucho. Un saludo.      
  • Recently Browsing

    No registered users viewing this page.

×
×
  • Create New...

Important Information

Privacy Policy