Buenas tardes, primero que todo muchas gracias a la persona que me pueda colaborar,
estoy realizando un macro, y necesito que cuando ingrese un dato en una celda, esta me la rellene de ceros, dejando como maximo 10 digitos.
ejemplo
el numero que se ingresa es 4567,
y que la macro lo convierta en 0000004567.
lo intente por la opcion en formato - celdas- en la pestana numero selecciono personalizada y le agrego los ceros, pero lo que pasa es que el numero no siempre es de cuatro digitos puede ser de un digito, pero se debe rellenar a la izquierda con cero.
tambien intente con una funcion de excel, pero lo que pasa es que la informacion es cambiante y se copia de otra hoja y se pega en la hoja uno, entoces no podria con formula la cual se borraria al pegar la informacion.
Muchas gracias
Tony
hola, mejor usa el formato que si se puede. anda a formato de Celdas y seleciona Personalizada y luego en el cuadro de texto donde dice "Tipo" pones 0000000000
Saludos
Eso ocurre porque el formato de números no permite poner ceros a la izquiera, al fin y al cabo no sirven para nada :xD
Formato > Texto :P , en formato texto si funciona, no se necesitan macros ;)
Saludos
Cita de: LeandroA en 18 Diciembre 2008, 04:37 AM
hola, mejor usa el formato que si se puede. anda a formato de Celdas y seleciona Personalizada y luego en el cuadro de texto donde dice "Tipo" pones 0000000000
Saludos
Si funciona pero si no fuera tan cambiantes los campos, aproximadamente cada 3 minutos se esta cambiando la informacion del texto, con una macro que ya incorpore,
ademas se incerta informacion anadiendo celdas nuevas, y al estar asi este formato se pierde se corre a la fila o columna siguiente. por tal razon es necesario una macro que cuente cuantos caracteres hay, y que inserte los caracteres faltantes con ceros.
Cita de: Novlucker en 19 Diciembre 2008, 19:26 PM
Eso ocurre porque el formato de números no permite poner ceros a la izquiera, al fin y al cabo no sirven para nada :xD
Formato > Texto :P , en formato texto si funciona, no se necesitan macros ;)
Saludos
En este caso si me sirven los ceros ya que estos son los que me identifican una series de informacion como un codigo de barras.
la opcion de texto en columnas si me sirve pero la cantidad de columnas es grande, y lo que necesito es que cuando se ejecute el archivo no se deba hacer nada manual mente sino con una macro, te agradezco tu respuesta gracias
Te doy la base, funciona siempre y cuando al dar ENTER la selección se mueva hacía abajo :P
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Dim Texto as String
Cells(ActiveCell.Row - 1, ActiveCell.Column).NumberFormat = "@"
Texto = Cells(ActiveCell.Row - 1, ActiveCell.Column).Value
If Texto <> "" Then
For i = 1 To (10 - Len(Texto))
Texto = "0" & Texto
Next
Cells(ActiveCell.Row - 1, ActiveCell.Column).Value = Texto
End If
End Sub
Modificala según tu conveniencia, esa macro se agregaría en todo el libro, lo digo por si necesitas que sea en una sola página ;)
También recuerda que hay que tener cuidado con las Macros, ya que al ejecutar una pierdes la posibilidad de deshacer :P
Saludos
Cita de: Novlucker en 26 Enero 2009, 18:23 PM
Te doy la base, funciona siempre y cuando al dar ENTER la selección se mueva hacía abajo :P
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Dim Texto as String
Cells(ActiveCell.Row - 1, ActiveCell.Column).NumberFormat = "@"
Texto = Cells(ActiveCell.Row - 1, ActiveCell.Column).Value
If Texto <> "" Then
For i = 1 To (10 - Len(Texto))
Texto = "0" & Texto
Next
Cells(ActiveCell.Row - 1, ActiveCell.Column).Value = Texto
End If
End Sub
Modificala según tu conveniencia, esa macro se agregaría en todo el libro, lo digo por si necesitas que sea en una sola página ;)
También recuerda que hay que tener cuidado con las Macros, ya que al ejecutar una pierdes la posibilidad de deshacer :P
Saludos
Novlucker
Gracias eso es exactamente lo que necesitaba
gracias
Saludos
Muy bien entonces, sino como opción puedes crear un botón para validar los datos, entonces no te fijas si se da enter o se presiona otro botón, recorres toda la planilla y ya, no lleva nada :P
Saludos