Formato de celda, número

02/04/2009 - 10:47 por Paquito | Informe spam
Hola, habitantes del foro:

Estoy creando una lista con valores.
En una columna quiero introducir un código que empezará por G o por I al que
seguirá un número con dos cifras.
He creado para otras ocasiones un formato, de manera que al escribir un
número, por ejemplo el 1, aparezca directamente G-01.
Sin embargo ahora, como he dicho los códigos, o empiezan por G o por I.

Es posible crear un formato que al introducir yo, por ejemplo, g1 lo
transforme en G-01 y al introducir, por ejemplo, i8 lo transforme en I-08.

Confío en vuestras buenas ideas... Saludos en crisis

Preguntas similare

Leer las respuestas

#1 Héctor Miguel
03/04/2009 - 07:12 | Informe spam
hola, !

En una columna quiero introducir un codigo que empezara por G o por I al que seguira un numero con dos cifras.
He creado para otras ocasiones un formato, de manera que al escribir un numero, por ejemplo el 1, aparezca directamente G-01.
Sin embargo ahora, como he dicho los codigos, o empiezan por G o por I.
Es posible crear un formato que al introducir yo, por ejemplo, g1 lo transforme en G-01
y al introducir, por ejemplo, i8 lo transforme en I-08. ...



suponiendo que esa "una columna" es la columna A a partir de la fila 2 -?????-
copia/pega (o escribe) lo siguiente en el modulo de codigo de "esa hoja"

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

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Column = 1 And Target.Count > 1 Then ActiveCell.Select
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column > 1 Then Exit Sub Else On Error GoTo Restore
Application.EnableEvents = False
ActiveCell.NumberFormat = UCase(Left(Target, 1)) & "\-00"
ActiveCell.Value = Mid(ActiveCell.Value, 2)
Restore:
Application.EnableEvents = True
End Sub
Respuesta Responder a este mensaje
#2 Paquito
03/04/2009 - 10:45 | Informe spam
En realidad yo pensaba que se podría hacer desde
Formato/celda/número/personalizada.

La propuesta tuya parece que corresponde al apasionante mundo de las macros,
el cual yo desconozco.

Gracias de todas formas




"Héctor Miguel" escribió:

hola, !

> En una columna quiero introducir un codigo que empezara por G o por I al que seguira un numero con dos cifras.
> He creado para otras ocasiones un formato, de manera que al escribir un numero, por ejemplo el 1, aparezca directamente G-01.
> Sin embargo ahora, como he dicho los codigos, o empiezan por G o por I.
> Es posible crear un formato que al introducir yo, por ejemplo, g1 lo transforme en G-01
> y al introducir, por ejemplo, i8 lo transforme en I-08. ...

suponiendo que esa "una columna" es la columna A a partir de la fila 2 -?????-
copia/pega (o escribe) lo siguiente en el modulo de codigo de "esa hoja"

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

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Column = 1 And Target.Count > 1 Then ActiveCell.Select
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column > 1 Then Exit Sub Else On Error GoTo Restore
Application.EnableEvents = False
ActiveCell.NumberFormat = UCase(Left(Target, 1)) & "\-00"
ActiveCell.Value = Mid(ActiveCell.Value, 2)
Restore:
Application.EnableEvents = True
End Sub



Respuesta Responder a este mensaje
#3 Paquito
03/04/2009 - 11:01 | Informe spam
Aun con mis limitaciones he introducido la instrucción en el código de hoja,
y no es eso lo que quiero, ya que me vincula el resultado a la celda
inmediatamente superior, y no quiero eso.


Yo quiero un formato de número que se pueda utilizar en cualquier celda y
que al introducir una letra y un número lo transforme en esa letra más un
guión y el mismo número siempre de dos cifras.






"Héctor Miguel" escribió:

hola, !

> En una columna quiero introducir un codigo que empezara por G o por I al que seguira un numero con dos cifras.
> He creado para otras ocasiones un formato, de manera que al escribir un numero, por ejemplo el 1, aparezca directamente G-01.
> Sin embargo ahora, como he dicho los codigos, o empiezan por G o por I.
> Es posible crear un formato que al introducir yo, por ejemplo, g1 lo transforme en G-01
> y al introducir, por ejemplo, i8 lo transforme en I-08. ...

suponiendo que esa "una columna" es la columna A a partir de la fila 2 -?????-
copia/pega (o escribe) lo siguiente en el modulo de codigo de "esa hoja"

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

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Column = 1 And Target.Count > 1 Then ActiveCell.Select
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column > 1 Then Exit Sub Else On Error GoTo Restore
Application.EnableEvents = False
ActiveCell.NumberFormat = UCase(Left(Target, 1)) & "\-00"
ActiveCell.Value = Mid(ActiveCell.Value, 2)
Restore:
Application.EnableEvents = True
End Sub



Respuesta Responder a este mensaje
#4 Héctor Miguel
03/04/2009 - 20:15 | Informe spam
hola, !

Aun con mis limitaciones he introducido la instruccion en el codigo de hoja
y no es eso lo que quiero, ya que me vincula el resultado a la celda inmediatamente superior, y no quiero eso.
Yo quiero un formato de numero que se pueda utilizar en cualquier celda
y que al introducir una letra y un numero lo transforme en esa letra mas un guion y el mismo numero siempre de dos cifras.



(segun yo ?) la propuesta de codigo del mensaje anterior "hace" (precisamente) lo que solicitas (p.e.

- en alguna celda en la columna A y de la fila 2 en adelante, al introducir una letra y un numero (p.e. g1, o h25)
el codigo lo transforma en G-01 o H-25 (segun las pruebas realizadas)

saludos,
hector.

__ OP __
En una columna quiero introducir un codigo que empezara por G o por I al que seguira un numero con dos cifras.
He creado para otras ocasiones un formato, de manera que al escribir un numero, por ejemplo el 1, aparezca directamente G-01.
Sin embargo ahora, como he dicho los codigos, o empiezan por G o por I.
Es posible crear un formato que al introducir yo, por ejemplo, g1 lo transforme en G-01
y al introducir, por ejemplo, i8 lo transforme en I-08. ...



suponiendo que esa "una columna" es la columna A a partir de la fila 2 -?????-
copia/pega (o escribe) lo siguiente en el modulo de codigo de "esa hoja"

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

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Column = 1 And Target.Count > 1 Then ActiveCell.Select
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column > 1 Then Exit Sub Else On Error GoTo Restore
Application.EnableEvents = False
ActiveCell.NumberFormat = UCase(Left(Target, 1)) & "\-00"
ActiveCell.Value = Mid(ActiveCell.Value, 2)
Restore:
Application.EnableEvents = True
End Sub
Respuesta Responder a este mensaje
#5 Paquito
15/04/2009 - 12:46 | Informe spam
Lo siento, pero no me funciona.

"Héctor Miguel" escribió:

hola, !

> Aun con mis limitaciones he introducido la instruccion en el codigo de hoja
> y no es eso lo que quiero, ya que me vincula el resultado a la celda inmediatamente superior, y no quiero eso.
> Yo quiero un formato de numero que se pueda utilizar en cualquier celda
> y que al introducir una letra y un numero lo transforme en esa letra mas un guion y el mismo numero siempre de dos cifras.

(segun yo ?) la propuesta de codigo del mensaje anterior "hace" (precisamente) lo que solicitas (p.e.

- en alguna celda en la columna A y de la fila 2 en adelante, al introducir una letra y un numero (p.e. g1, o h25)
el codigo lo transforma en G-01 o H-25 (segun las pruebas realizadas)

saludos,
hector.

__ OP __
>>> En una columna quiero introducir un codigo que empezara por G o por I al que seguira un numero con dos cifras.
>>> He creado para otras ocasiones un formato, de manera que al escribir un numero, por ejemplo el 1, aparezca directamente G-01.
>>> Sin embargo ahora, como he dicho los codigos, o empiezan por G o por I.
>>> Es posible crear un formato que al introducir yo, por ejemplo, g1 lo transforme en G-01
>>> y al introducir, por ejemplo, i8 lo transforme en I-08. ...
>>
>> suponiendo que esa "una columna" es la columna A a partir de la fila 2 -?????-
>> copia/pega (o escribe) lo siguiente en el modulo de codigo de "esa hoja"
>>
>> si cualquier duda (o informacion adicional)... comentas ?
>> saludos,
>> hector.
>>
>> Private Sub Worksheet_SelectionChange(ByVal Target As Range)
>> If Target.Column = 1 And Target.Count > 1 Then ActiveCell.Select
>> End Sub
>> Private Sub Worksheet_Change(ByVal Target As Range)
>> If Target.Column > 1 Then Exit Sub Else On Error GoTo Restore
>> Application.EnableEvents = False
>> ActiveCell.NumberFormat = UCase(Left(Target, 1)) & "\-00"
>> ActiveCell.Value = Mid(ActiveCell.Value, 2)
>> Restore:
>> Application.EnableEvents = True
>> End Sub



Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida