Hola.
He creado un formulario para que se refleje en una hoja de excel. El botón lo he programado como muestro abajo. Deseo que la información escrita en ese formulario empiece en la fila que hay después del último dato de una tabla dinámica. Inicialmente en la tabla dinámica hay 9 lineas llenas con su respectiva información, pero cuando corro el formulario, la información que ingreso aparece en en la fila 23. Espero que me pueda alguien ayudar.
Gracias.
Private Sub Agregar_Click()
If TextBox1.Value = "" Then
Else
fil = Cells(236, 2)
Cells(fil, 93) = TextBox1.Value
Cells(fil, 94) = TextBox2.Value
Cells(fil, 95) = TextBox9.Value
Cells(fil, 96) = TextBox5.Value
Cells(fil, 97) = TextBox7.Value
Cells(fil, 98) = TextBox8.Value
TextBox1.Value = ""
TextBox2.Value = ""
TextBox9.Value = ""
TextBox5.Value = ""
TextBox7.Value = ""
TextBox8.Value = ""
fil = fil + 1
Cells(236, 2) = fil
End If
End Sub
Adjunto | Tamaño |
---|---|
En la fila 10 de esa columna quiero que empiece la información que agregue | 86.41 KB |
según el código de tu botón, almacenas el número de fila en la celda Cells(236, 2)
y ese valor lo vas aumentando cada vez que anotas,
Cells(236, 2) = fil 'guardas el valor acutalizado en Cells(236, 2)
Entiendo que lo que quieres es anotar en la fila siguiente. para ello bastará con que cuentes las filas de esa tabla (que no es una tabla dinámica, sino una tabla de datos)
suponiendo que esta tabla sea la única que hay en esa hoja del libro, yo sustituiría eso de la celda auxiliar Cells(236, 2) por esto otro
With ActiveSheet.Listobjects(1).Range
fil=.Row+.Rows.Count
End With
fil tomaría el valor de la fila siguiente a la tabla.
En tu captura de pantalla veo que tienes una fila de totales, así que tenlo en cuenta si vas a anotar ahí algo; entiendo que quieres anotar más datos, no cosas en la fila de totales o debajo de ésta.
------
Ya sé Excel, pero necesito más.