Ingresar datos por código segun tabla.

14/04/2010 - 00:42 por Francesca Brasso | Informe spam
Hola,
En la columna B desde B1 adelante se ingresan varias veces al día valores
numéricos enteros aleatorios que varían aprox. entre 30 y 450.
He puesto y copiado hacia abajo en la columna C desde C1 la siguiente
fórmula
=SI(B1="","",SI(B1<`,0,SI(B1<€,3,SI(B1<0,4,SI(B1<0,6,SI(B1<1,8,SI(B1< 0,10,SI(B1<%0,11,SI(B1<00,12,SI(B1>01,14))))))))))
para que en la celda al lado del número ingresado en B me ponga un número de
acuerdo a la siguiente tabla:
<60:0
61-80: 3
81-120: 4
121-160: 6
161-181: 8
182-200: 10
201-250: 11
251-300:12

301:14


El asunto es que a veces, dependiendo de ciertos factores, es necesario
cambiar el valor de la tabla, entonces lo que quiero, pero estoy perdida, es
ingresar el valor de la columna C por código de forma tal que al escribir el
valor en B aparezca un InputBox (o algo parecido) que me "ofrezca" el valor
original pero pueda cambiarlo antes de ingresarlo a la celda
correspondiente.
(Algo así como lo que se usa con el folio de las facturas)
Saludos
Francesca

Preguntas similare

Leer las respuestas

#1 Héctor Miguel
14/04/2010 - 01:18 | Informe spam
hola, Francesca !

- cuales serian los "ciertos factores" por los que tendrias que cambiar "la tabla" ?
y cuales serian los cambios que "segun factores" (ingresados en la columna B) harias a "la tabla" ?
entiendo que "la tabla" es lo que actualmente solucionas en la columna C con "la formula" ?
y cual es la relacion para la discontinua-continuidad de "la tanbla" ? {0;3;4;6;8;10;11;12;14}

- por que no "dejar" que el usuario cambie lo que necesite cambiar sin necesidad de inputboxes previos ?

saludos,
hector.

__ OP __
Mostrar la cita
#2 Francesca Brasso
14/04/2010 - 01:45 | Informe spam
- cuales serian los "ciertos factores" por los que tendrias que cambiar "la
tabla" ?
La hora en que se ingresa el valor, la temperatura ambiente.

y cuales serian los cambios que "segun factores" (ingresados en la columna
B) harias a "la tabla" ?
Queda a la discreción de quien ingresa el valor.

y cual es la relacion para la discontinua-continuidad de "la tanbla" ?
{0;3;4;6;8;10;11;12;14}
No hay ninguna relación entre los números de la tabla.

- por que no "dejar" que el usuario cambie lo que necesite cambiar sin
necesidad de inputboxes previos ?
Porque se le puede olvidar cambiarlo y ya estará ingresado en la celda.

El tema es que, por ejemplo a veces se deberá cambiar el 3 por un 2 o un 1,
o el 4 por un 3 o un 2, o el 6 por un 5 o un 7 o un 8 o quizá el 10 por un 9
o un 12, etcétera.
Lo que necesito es que no se ingrese el número hasta que el usuario lo
acepte (conscientemente) o lo cambie por el número que él quiera. Sí, tal
como suena, el que él quiera.
La tabla es sólo una guía, no es algo rígido, es casi un recordatorio
solamente.
Saludos
Francesca


"Héctor Miguel" escribió en el mensaje de
noticias news:e914X%
Mostrar la cita
#3 Héctor Miguel
14/04/2010 - 02:50 | Informe spam
hola , Francesca !

prueba copiando/pegando (o escribiendo) los siguientes procedimientos en el modulo de codigo de "esa" hoja

si cualquier duda (o informacion adicional)... comentas ?
saludos,
hector.

== inicio del codigo =Private Const Tabla As String = "{0,0;61,3;81,4;121,6;161,8;182,10;201,11;251,12;301,14}"

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Target, Range("b:b")) Is Nothing Then ActiveCell.Select
End Sub

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column <> 2 Then Exit Sub
If Target = "" Then Target.Offset(, 1).ClearContents: Exit Sub
Dim Sugerido As Integer, Respuesta As String
Sugerido = Evaluate("vlookup(" & Target.Value & "," & Tabla & ",2)")
Respuesta = Trim(InputBox( _
"La sugerencia para el valor ingresado (" & Target.Value & ") es: " & Sugerido & vbCr & _
"Indica si es aplicable o modifica como corresponda..." & vbCr & vbCr & _
"(puedes cancelar para aceptar la sugerencia)", "Accion REQUERIDA !!!", Sugerido))
Target.Offset(, 1) = IIf(Respuesta <> "", Respuesta, Sugerido)
End Sub
== fin del codigo =
__ OP __
Mostrar la cita
#4 Francesca Brasso
14/04/2010 - 16:34 | Informe spam
Hola Héctor, fenómeno, es lo que quería conseguir.
Igual no entiendo el código, si pudieras explicarlo linea por linea sería
genial, así voy aprendiendo para la próxima...
Muchas gracias
Saludos
Francesca


"Héctor Miguel" escribió en el mensaje de
noticias news:
Mostrar la cita
#5 Héctor Miguel
15/04/2010 - 01:24 | Informe spam
hola, Francesca !

Mostrar la cita
sale el mismo codigo comentado por linea de ejecucion...
saludos,
hector.

' primero, definimos una variable constante asemejando un rango de _
dos columnas (coma en vba) y varias filas (punto y coma en vba) para usar un buscarv(...
Private Const Tabla As String = "{0,0;61,3;81,4;121,6;161,8;182,10;201,11;251,12;301,14}"

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
' si el usuario selecciona un rango que incluya celdas de la columna B forzamos a una sola celda
If Not Intersect(Target, Range("b:b")) Is Nothing Then ActiveCell.Select
End Sub

Private Sub Worksheet_Change(ByVal Target As Range)
' si el cambio no es en la columna B (2) nos saltamos todo el codigo
If Target.Column <> 2 Then Exit Sub
' si el cambio en la columna B (2) ha sido borrar o eliminar _
limpiamos tambien el dato en la clumna C y nos saltamos el resto del codigo
If Target = "" Then Target.Offset(, 1).ClearContents: Exit Sub
' declaramos dos variables para ...
Dim Sugerido As Integer, Respuesta As String
' determinar que sugerir al usuario por el ingreso con un buscarv(<ingreso>,tabla,col2)
Sugerido = Evaluate("vlookup(" & Target.Value & "," & Tabla & ",2)")
' preguntar si confirma o cambia la sugerencia ...
Respuesta = Trim(InputBox( _
"La sugerencia para el valor ingresado (" & Target.Value & ") es: " & Sugerido & vbCr & _
"Indica si es aplicable o modifica como corresponda..." & vbCr & vbCr & _
"(puedes cancelar para aceptar la sugerencia)", "Accion REQUERIDA !!!", Sugerido))
' finalmente depositamos en la columna C la respuesta (modificada o sugerida)
Target.Offset(, 1) = IIf(Respuesta <> "", Respuesta, Sugerido)
End Sub
Ads by Google
Search Busqueda sugerida