Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

[SOLUCIONADO] LLenar con ceros espacios en blanco

Estas en el tema de LLenar con ceros espacios en blanco en el foro de Visual Basic clásico en Foros del Web. hola, que tal, es la primera vez que entro al foro, y espero puedan ayudarme... tengo un problema con una macro en excel, lo que ...
  #1 (permalink)  
Antiguo 02/04/2013, 15:06
 
Fecha de Ingreso: febrero-2013
Ubicación: Lima
Mensajes: 301
Antigüedad: 11 años, 3 meses
Puntos: 5
Pregunta LLenar con ceros espacios en blanco

hola, que tal, es la primera vez que entro al foro, y espero puedan ayudarme...
tengo un problema con una macro en excel, lo que sucede es que la macro copia datos de otros archivos sin problemas, pero deja espacios en blanco, lo que deseo es hacer un cursor que me recorra tanto horizontalmente como verticalmente el rango donde se copiaron los datos y si encuentra espacios en blanco los rellene de ceros.

actualmente este es mi codigo, espero puedan ayudarme....
Código vb:
Ver original
  1. Sub Llenar_Ceros()
  2.  
  3. Dim conta1, cel1 As Integer
  4.  
  5. conta1 = 2
  6.  
  7.  
  8. Sheets("Programas_Proyeccion").Activate
  9.  
  10. Do While conta1 < 2594
  11. For cel1 = 5 To 35 'Permite que cambie "i"
  12.  
  13. If Sheets("Programas_Proyeccion").Cells(cel1 & conta1).Value = "" Then
  14. Sheets("Programas_Proyeccion").Cells(cel1 & conta1).Value = 0
  15. End If
  16. conta1 = conta1 + 1
  17. Next
  18.  
  19. Loop
  20.  
  21. End Sub

gracias
  #2 (permalink)  
Antiguo 02/04/2013, 16:15
 
Fecha de Ingreso: noviembre-2012
Mensajes: 74
Antigüedad: 11 años, 5 meses
Puntos: 3
Respuesta: LLenar con ceros espacios en blanco

Lo puedes hacer con una linea de código

Código:
Sheets("Programas_Proyeccion").Range("A1:D10").SpecialCells(xlCellTypeBlanks) = 0
Cambia el rango "A1:D10" por el rango que quieras
  #3 (permalink)  
Antiguo 02/04/2013, 16:20
 
Fecha de Ingreso: febrero-2013
Ubicación: Lima
Mensajes: 301
Antigüedad: 11 años, 3 meses
Puntos: 5
Respuesta: LLenar con ceros espacios en blanco

gracias por la respuesta, pero lo que me comentas funcionara para un conjunto de rangos, por ejemplo de la celda C3:C562 y CD3:CD562...?
espero me haya expresado bien, ya que supongo el codigo que me compartes solo recorrera en forma horizontal y vertical, y lo que quisiera es que recorra ambas al mismo tiempo....o tu codigo hace lo mismo...o estoy equivocado...?
  #4 (permalink)  
Antiguo 02/04/2013, 16:26
 
Fecha de Ingreso: noviembre-2012
Mensajes: 74
Antigüedad: 11 años, 5 meses
Puntos: 3
Respuesta: LLenar con ceros espacios en blanco

Funciona para cualquier tipo de rango, por ejemplo también funciona para
Código:
Sheets("Programas_Proyeccion").Range("C3:C562,CD3:CD562").SpecialCells(xlCellTypeBlanks) = 0
  #5 (permalink)  
Antiguo 02/04/2013, 16:51
 
Fecha de Ingreso: febrero-2013
Ubicación: Lima
Mensajes: 301
Antigüedad: 11 años, 3 meses
Puntos: 5
Respuesta: LLenar con ceros espacios en blanco

lo acabo de ejecutar pero como te comente solo me actualiza la el rango C3:C562, mas no los demas rangos....puede haber algun error...?
te comparto el codigo:
Código vb:
Ver original
  1. Sub Llenar_Ceros_2()
  2.  
  3. Sheets("Programas").Activate
  4. Sheets("Programas").Range("D2:D2921,AD2:AD2921").SpecialCells(xlCellTypeBlanks) = 0
  5.  
  6. End Sub
  #6 (permalink)  
Antiguo 02/04/2013, 16:57
 
Fecha de Ingreso: noviembre-2012
Mensajes: 74
Antigüedad: 11 años, 5 meses
Puntos: 3
Respuesta: LLenar con ceros espacios en blanco

Cita:
Iniciado por ambichol Ver Mensaje
lo acabo de ejecutar pero como te comente solo me actualiza la el rango C3:C562, mas no los demas rangos....puede haber algun error...?
te comparto el codigo:
Código vb:
Ver original
  1. Sub Llenar_Ceros_2()
  2.  
  3. Sheets("Programas").Activate
  4. Sheets("Programas").Range("D2:D2921,AD2:AD2921").SpecialCells(xlCellTypeBlanks) = 0
  5.  
  6. End Sub
¿Es el código real? dices que solo te actualiza el rango C3:C562, pero en el código no tienes puesto ese rango por lo que no debería actualizarse. El código que pusiste debe actualizar los rangos D2:D2921 y AD2:AD2921 de la hoja Programas.
  #7 (permalink)  
Antiguo 02/04/2013, 16:57
 
Fecha de Ingreso: febrero-2013
Ubicación: Lima
Mensajes: 301
Antigüedad: 11 años, 3 meses
Puntos: 5
Respuesta: LLenar con ceros espacios en blanco

acabo de probarlo nuevamente....y efectivamente funciono....gracias...
te muestro el codigo que debio ser al principio:
Código vb:
Ver original
  1. Sub Llenar_Ceros_2()
  2.  
  3. Sheets("Programas").Activate
  4. Sheets("Programas").Range("D2:AD2921").SpecialCells(xlCellTypeBlanks) = 0
  5.  
  6. End Sub

Etiquetas: blanco, espacios
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:25.