SoloCodigo

Programación General => Visual Basic 6.0 e inferiores => VBA => Mensaje iniciado por: splinter72 en Domingo 9 de Octubre de 2011, 06:14

Título: Copiar un listado a otra hoja
Publicado por: splinter72 en Domingo 9 de Octubre de 2011, 06:14
Quisiera copiar un listado evaluando la columna celda x celda, esto
porque hay datos en las filas que son diferentes a otras filas y unas
filas se van a una hoja y otros a otra, suponiendo si es un carro, se
copie a la hoja de "camionetas y coches"; y si es una motocicleta se
copie a la hoja de "bicicletas y motos", esto lo quiero hacer por
codigo por su tamaño, lo que no se como hacer el ciclo para que evalue
la ultima celda que copie  baje o continue con la siguiente, no se si me
explico.....
Gracias y espero haya respuesta
Título: Re:Copiar un listado a otra hoja
Publicado por: F_Tanori en Martes 11 de Octubre de 2011, 10:18
Hola, te dare una idea de como recorrer las filas. hay muchas formas de hacerlo esta es una idea Ad líbitum aunque eso de recorridos secuenciales como que no van para el uso diario..., incluso hay formas mejores de 'convertir' Excel en base de datos y usar comandos SQL a traves de un driver ODBC, o exportando los datos a una base de datos como Access (etc.)

Pero bueno he aqui una 'guia'


Código: Visual Basic
  1. Function Recorrer(CeldaInicial As String)
  2.     On Error GoTo xError
  3.     Dim Renglon As Integer, CeldaActual As String, FilaFinal As Integer
  4.     Dim Direccion
  5.  
  6.     Direccion = Split(Excel.Range(CeldaInicial).Address, "$")
  7.     Renglon = Direccion(2)
  8.     CeldaActual = CeldaInicial
  9.    
  10.     'Final
  11.    FilaFinal = Renglon + 100
  12.    
  13.     Do While Renglon <= FilaFinal
  14.         Excel.Range(CeldaActual).Activate
  15.         Excel.Range(CeldaActual) = Renglon
  16.         Renglon = Renglon + 1
  17.         CeldaActual = Direccion(1) & Renglon
  18.     Loop
  19.        
  20. xError:
  21.     If Err.Number > 0 Then
  22.         MsgBox Err.Description, vbCritical, Err.Number
  23.         Err.Clear
  24.     End If
  25. End Function
  26.  

Ejemplos de Uso:
Código: Visual Basic
  1.    Recorrer("A14")
  2.  

Código: Visual Basic
  1.    Recorrer("Z9")
  2.  

Código: Visual Basic
  1.    Recorrer("AC14")
  2.