elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Los 10 CVE más críticos (peligrosos) de 2020


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  macro en excel
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: macro en excel  (Leído 6,298 veces)
tony82

Desconectado Desconectado

Mensajes: 31


Ver Perfil
macro en excel
« en: 17 Diciembre 2008, 21:25 pm »

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


En línea

LeandroA
Moderador
***
Desconectado Desconectado

Mensajes: 760


www.leandroascierto.com


Ver Perfil WWW
Re: macro en excel
« Respuesta #1 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


En línea

Novlucker
Ninja y
Colaborador
***
Desconectado Desconectado

Mensajes: 10.683

Yo que tu lo pienso dos veces


Ver Perfil
Re: macro en excel
« Respuesta #2 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 línea

Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD
"Hay dos cosas infinitas: el Universo y la estupidez  humana. Y de la primera no estoy muy seguro."
Albert Einstein
tony82

Desconectado Desconectado

Mensajes: 31


Ver Perfil
Re: macro en excel
« Respuesta #3 en: 26 Enero 2009, 17:50 pm »

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.
En línea

tony82

Desconectado Desconectado

Mensajes: 31


Ver Perfil
Re: macro en excel
« Respuesta #4 en: 26 Enero 2009, 17:53 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
En línea

Novlucker
Ninja y
Colaborador
***
Desconectado Desconectado

Mensajes: 10.683

Yo que tu lo pienso dos veces


Ver Perfil
Re: macro en excel
« Respuesta #5 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

Código
  1. Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
  2. Dim Texto as String
  3. Cells(ActiveCell.Row - 1, ActiveCell.Column).NumberFormat = "@"
  4.  
  5. Texto = Cells(ActiveCell.Row - 1, ActiveCell.Column).Value
  6. If Texto <> "" Then
  7.  
  8. For i = 1 To (10 - Len(Texto))
  9.    Texto = "0" & Texto
  10. Next
  11.  
  12. Cells(ActiveCell.Row - 1, ActiveCell.Column).Value = Texto
  13.  
  14. End If
  15. 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
En línea

Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD
"Hay dos cosas infinitas: el Universo y la estupidez  humana. Y de la primera no estoy muy seguro."
Albert Einstein
tony82

Desconectado Desconectado

Mensajes: 31


Ver Perfil
Re: macro en excel
« Respuesta #6 en: 26 Enero 2009, 20:22 pm »

Te doy la base, funciona siempre y cuando al dar ENTER la selección se mueva hacía abajo  :P

Código
  1. Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
  2. Dim Texto as String
  3. Cells(ActiveCell.Row - 1, ActiveCell.Column).NumberFormat = "@"
  4.  
  5. Texto = Cells(ActiveCell.Row - 1, ActiveCell.Column).Value
  6. If Texto <> "" Then
  7.  
  8. For i = 1 To (10 - Len(Texto))
  9.    Texto = "0" & Texto
  10. Next
  11.  
  12. Cells(ActiveCell.Row - 1, ActiveCell.Column).Value = Texto
  13.  
  14. End If
  15. 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
En línea

Novlucker
Ninja y
Colaborador
***
Desconectado Desconectado

Mensajes: 10.683

Yo que tu lo pienso dos veces


Ver Perfil
Re: macro en excel
« Respuesta #7 en: 27 Enero 2009, 00:00 am »

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
En línea

Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD
"Hay dos cosas infinitas: el Universo y la estupidez  humana. Y de la primera no estoy muy seguro."
Albert Einstein
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines