• Viernes 8 de Noviembre de 2024, 21:49

Autor Tema:  Re: Autollenado en Excel  (Leído 1286 veces)

Wkafka

  • Nuevo Miembro
  • *
  • Mensajes: 2
    • Ver Perfil
Re: Autollenado en Excel
« en: Martes 8 de Julio de 2003, 18:07 »
0
Hola.
Soy un principiante en Visual Basic y agradezco si alguien puede ayudarme:
Tengo 2 columnas de datos en excel y quiero hacer un programa que cree una tercera columna y la rellene con la multiplicacion de la columna 1 y 2.
Con la instruccion autofill puedo rellenarla en un rango dado, pero como el numero de filas puede cambiar, necesito un algoritmo que rellene la columna 3 hasta que encuentre una casilla vacia en la columna 1.
Mil gracias.

J.M.Movilla

  • Miembro MUY activo
  • ***
  • Mensajes: 427
    • Ver Perfil
Re: Autollenado en Excel
« Respuesta #1 en: Martes 8 de Julio de 2003, 23:16 »
0
A ver si te va esto...

Private Sub Command1_Click()
    Dim ApExcel As Variant
    Dim Fila As Integer
   
    Set ApExcel = CreateObject("Excel.application")
    With ApExcel
        .workbooks.Add
        Fila = 1              ' Pon aquí la primera fila que contenga datos
        Do
        If IsNull(cells(Fila,1)) then exit Do
        .cells(Fila, 3).formula =  .cells(Fila, 1) *  .cells(Fila, 2)

        Fila = Fila + 1
        Loop
        .Visible = True
    End With
    Set ApExcel = Nothing
End Sub

Probablemente tengas que hacer alguna corrección, porque lo estoy escribiendo en vivo... directamente en esta ventana del foro...

Saludos y suerte

Wkafka

  • Nuevo Miembro
  • *
  • Mensajes: 2
    • Ver Perfil
Autollenado en Excel
« Respuesta #2 en: Lunes 14 de Julio de 2003, 23:27 »
0
Hola JJ.
Mil gracias por responder.
Efectivamente me funcionó con unos pequeños cambios.
Finalmente quedó asi:

Private Sub Command1_Click()

Dim Fila As Integer


Fila = 2 ' Pon aquí la primera fila que contenga datos
Do
If IsEmpty(Cells(Fila, 1)) Then Exit Do
ActiveSheet.Cells(Fila, 3).Formula = ActiveSheet.Cells(Fila, 1) * ActiveSheet.Cells(Fila, 2)
Fila = Fila + 1
Loop


End Sub