UserFrom de Excel

Buenas noches,
Me dirijo a usted para ver si me podría echar una mano para modificar la parte del código que busca la última celda vacía para ir copiando los datos.
Lo que quiero es que se comiencen a copiar a partir de la celda C17 hasta la C47 y a partir de la C47 no se pueda copiar más.
Yo no soy experto en esto y me ha costado bastante hacer este código de instrucciones;
Private Sub cmdAceptar_Click()
Dim CeldaInicial As Variant
Dim col As Integer
Dim fila As Integer
CeldaInicial = "A1"
Set CeldaInicial = Range(CeldaInicial)
col = CeldaInicial.Column
'Busca cuál es la última fila
If CeldaInicial.Offset(1, 0).Value = "" Then
fila = 2
Else
fila = CeldaInicial.End(xlDown).Row + 1
End If
'Comienza a copiar los valores del UserForm a la hoja
Cells(fila, col).Value = TextBox1.Value
Cells(fila, col + 1).Value = TextBox2.Value
Cells(fila, col + 2).Value = TextBox3.Value
Cells(fila, col + 3).Value = TextBox4.Value
Cells(fila, col + 4).Value = TextBox5.Value
Set CeldaInicial = Nothing
TextBox1 = ""
TextBox2 = ""
TextBox3 = ""
TextBox4 = ""
TextBox5 = ""
TextBox1.SetFocus
End Sub
Saludos, y de antemano le agradezco su amabilidad,

1 respuesta

Respuesta
1
Suponiendo que en C46 existe un dato tu código correría mejor así:
Dim CeldaInicial As Long
If ActiveCell.Address < Range("C47") Then
MsgBox "Lo siento, no puedes introducir más datos.", vbInformation, "¡Atención!"
TextBox1 = ""
TextBox2 = ""
TextBox3 = ""
TextBox4 = ""
TextBox5 = ""
TextBox1.SetFocus
Exit Sub
Else
CeldaInicial = Range("C65536").End(xlUp).Row + 1
'Comienza a copiar los valores del UserForm a la hoja
Cells(CeldaInicial, 3).Value = TextBox1.Value
Cells(CeldaInicial, 4).Value = TextBox2.Value
Cells(CeldaInicial, 5).Value = TextBox3.Value
Cells(CeldaInicial, 6).Value = TextBox4.Value
Cells(CeldaInicial, 7).Value = TextBox5.Value
'Set CeldaInicial = Nothing
TextBox1 = ""
TextBox2 = ""
TextBox3 = ""
TextBox4 = ""
TextBox5 = ""
TextBox1.SetFocus
End If
Muchas gracias, me funciona perfectamente y también esta muy bien lo que has incluido sobre el aviso de que no se pueden introducir más datos, excelente idea.
Saludos,
José

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas