De un conjunto de TextBox mandar su información a un rango de celda.

Mando la información de los TEXTBOX Y DE LOS COMBOBOX.

Para mandar la información del formulario a la tabla que tiene un rango de D19 hasta D44. Tengo este código pero me manda los datos hasta fila D490.

Así como se muestra en el formulario tengo que dejar Textbox vacios

Private Sub CommandButton1_Click()

Dim i As Integer
Dim dtexto As String

For i = 1 To 30 ' son mas pero como ejemplo
dtexto = frmAsistencia.Controls("TextBox" & i).Text
If dtexto <> "" Then
Sheets("LISTA2").Range("D19" & i).Value = dtexto
End If
Next i
End Sub

1 Respuesta

Respuesta
1

Prueba con lo siguiente:

Private Sub CommandButton1_Click()
  Dim i As Long, j As Long
  Dim dtexto As String
  '
  j = 19
  For i = 1 To 30 ' son mas pero como ejemplo
    dtexto = frmAsistencia.Controls("TextBox" & i).Text
    If dtexto <> "" Then
      Sheets("LISTA2").Range("D" & j).Value = dtexto
      j = j + 1
    End If
  Next i
End Sub

'Comenta cualquier duda. No olvides la valoración.

Gracias por la pronta respuesta: con la modificación del código coloca los datos en la fila D19 pero no me respeta los espacios del formulario cada textbos es una fila de la tabla mando una imagen. el rango es D19:D44.  

Prueba así:

Private Sub CommandButton1_Click()
  Dim i As Long, j As Long
  Dim dtexto As String
  '
  j = 19
  For i = 1 To 30 ' son mas pero como ejemplo
    Sheets("LISTA2").Range("D" & j).Value = frmAsistencia.Controls("TextBox" & i).Text
    j = j + 1
  Next i
End Sub

Buenas tardes. Me manda este mensaje pero si me coloca los datos cuando le doy finalizar. muchas gracias por la pronta respuesta.

Ese error es porque no existe alguno de los textbox

For i = 1 To 30 ' son mas pero como ejemplo

Según tu ejemplo, debes tener los TextBox1, TextBox2, TextBox3... hasta TextBox30.

Si falta alguno te envía ese error.

Revisa cuál o cuáles te faltan.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas