Compartir a través de

Ayuda en excel y visual basic

Anónimas
2014-11-19T05:10:16+00:00

Lo que pasa es que quiero hacer un formulario con un textbox por ejemplo, y cuando de clic en un boton que diga aceptar o algo asi me escriba lo del textbox en una celda y cuando vuelva a escribir esto se acomode junto a lo que estaba escribiendo.

seria como un registro

pero tambien quiero saber si se puede escribir en otra hoja, no solo en la 1, como seria

y tambien quisiera saber como se le pone el texto de una celda a un label

Microsoft 365 y Office | Excel | Para la casa | Windows

Pregunta bloqueada. Esta pregunta se migró desde la Comunidad de Soporte técnico de Microsoft. Puede votar si es útil, pero no puede agregar comentarios o respuestas ni seguir la pregunta.

0 comentarios No hay comentarios

Respuesta aceptada por el autor de la pregunta

Anónimas
2014-11-19T11:31:25+00:00

Si he entendido bien lo que pretendes; varias  celdas con datos en cada fila (cada registro) e ir escribiendo registro bajo registro. Sería más sencillo un cuadro de texto para cada campo  o título y escribir todo el registro de una sola vez, pero tal como entiendo que quieres... suponiendo los títulos de columna en la fila 1 (a partir de A1), prueba con un código similar a:

Option Explicit

Dim miCol As Double, miFila As Double

Private Sub UserForm_Activate()

Actual

End Sub

Private Sub CommandButton1_Click()

If Me.TextBox1.Value = "" Then

MsgBox "No existen datos para """ & Cells(1, miCol).Value _

& """.", vbCritical, "ASV  -  Error"

Me.TextBox1.SetFocus

Exit Sub

End If

Worksheets("Hoja1").Cells(miFila, miCol).Value = Me.TextBox1.Value

Me.TextBox1.Value = ""

Actual

Me.TextBox1.SetFocus

End Sub

Private Sub Actual()

miFila = Cells(Rows.Count, 1).End(xlUp).Row

miCol = WorksheetFunction.CountA(Rows(miFila)) + 1

If miCol > WorksheetFunction.CountA(Rows(1)) Then

miCol = 1: miFila = miFila + 1

End If

Me.Label1.Caption = Cells(1, miCol).Value

End Sub

Para escribir en una hoja concreta (otra hoja) debes indicar la hoja, por ejemplo...

Worksheets("BaseDeDatos").Cells(miFila, miCol).Value = Me.TextBox1.Value

... pero ten en cuenta que también deberás indicar la hoja, a la hora de tomar los valores de miFila, miCol, etc.

¿Le ha resultado útil esta respuesta?

0 comentarios No hay comentarios

0 respuestas adicionales

Ordenar por: Muy útil