Excel problemas con formulario

Tengo el siguiente código de ingreso para un formulario

Private Sub INGRE_BTN_Click()
Sheets("TABLA DE DATOS").Select
ActiveSheet.Cells(5, 3).Select
Selection.Range("C5:K5").Offset(5, 3).Insert
Sheets("TABLA DE DATOS").Cells(5, 3) = ComboBox1
Sheets("TABLA DE DATOS").Cells(5, 4) = TextBox2
Sheets("TABLA DE DATOS").Cells(5, 5) = TextBox3
Sheets("TABLA DE DATOS").Cells(5, 6) = TextBox4
Sheets("TABLA DE DATOS").Cells(5, 7) = TextBox5
Sheets("TABLA DE DATOS").Cells(5, 8) = TextBox6
Sheets("TABLA DE DATOS").Cells(5, 9) = TextBox7
Sheets("TABLA DE DATOS").Cells(5, 10) = TextBox8
Sheets("TABLA DE DATOS").Cells(5, 11) = TextBox9
Sheets("TABLA DE DATOS").Select
ActiveSheet.Cells(5, 3).Select
Selection.Range("N5:O5").Offset(5, 3).Insert
Sheets("TABLA DE DATOS").Cells(5, 14) = ComboBox2
Sheets("TABLA DE DATOS").Cells(5, 15) = ComboBox3
TextBox2 = Empty
TextBox3 = Empty
TextBox4 = Empty
TextBox5 = Empty
TextBox6 = Empty
TextBox7 = Empty
TextBox8 = Empty
TextBox9 = Empty
TextBox2.SetFocus
REPORT
End Sub

El problema es que hasta hace un tiempo funcionaba todo bien en el ingreso y la tabla asociada se iba corriendo sola hacia abajo como debería esperarse, sin embargo ahora no se que hice que tengo el problema aca

Selection.Range("C5:K5").Offset(5, 3).Insert

Donde en el formulario básico la sentencia era

Selection.EntireRow.Insert

Y ahi me funcionaba de maravilla, pero al cambiar esa sentencia dejo de correr los espacios hacia abajo e inserta siempre en la misma fila sin correrse.... Que pudo haber pasado?

1 respuesta

Respuesta
1

¿No comprendo... si la sentencia anterior 'funcionaba de maravilla'... porqué la cambiaste?

Según dónde estés posicionado, se insertará una fila entera. Solo falta que indiques en qué celda debe posicionarse.

La otra obviamente no es correcta, quizás deba ser así:

Sheets("TABLA DE DATOS").Select
ActiveSheet.Cells(5, 3).Select

Selection.EntireRow.Insert

Es decir que se posiciona en C5 y a partir de allí inserta una fila, quedando como celda activa C5.

Comenta si esto responde a tu consulta.

cuando hago esto

Sheets("TABLA DE DATOS").Select
ActiveSheet.Cells(5, 3).Select
Selection.EntireRow.Insert
Sheets("TABLA DE DATOS").Cells(5, 3) = ComboBox1
Sheets("TABLA DE DATOS").Cells(5, 4) = TextBox2
Sheets("TABLA DE DATOS").Cells(5, 5) = TextBox3
Sheets("TABLA DE DATOS").Cells(5, 6) = TextBox4
Sheets("TABLA DE DATOS").Cells(5, 7) = TextBox5
Sheets("TABLA DE DATOS").Cells(5, 8) = TextBox6
Sheets("TABLA DE DATOS").Cells(5, 9) = TextBox7
Sheets("TABLA DE DATOS").Cells(5, 10) = TextBox8
Sheets("TABLA DE DATOS").Cells(5, 11) = TextBox9
TextBox2 = Empty
TextBox3 = Empty
TextBox4 = Empty
TextBox5 = Empty
TextBox6 = Empty
TextBox7 = Empty
TextBox8 = Empty
TextBox9 = Empty
TextBox2.SetFocus
REPORT

me dice

SE HA PRODUCIDO EL ERROR 1004 EN TIEMPO DE EJECUCION
ERROR EN EL METODO INSERT DE LA CLASE RANGE

Y me remarca la linea

Selection.EntireRow.Insert

Me tiene algo frustrado, iba muy bien y esto me devuelve a cero

Esto puede deberse a que la hoja está protegida... revisa y comenta las 'particularidades' de tu hoja (celdas combinadas podría dar error también).

Sdos

Elsa

Creo que ya lo solucione, lo pruebo y te comento, creo que el error era porque tenia dos diferentes tablas en la misma fila.

Sabes, lo cree en otra hoja e hice todo de nuevo y resulta entre comillas, pero me gustaría enviarte el archivo y si lo pudieras ver, si es que se puede claro, y me puedas dar una opinión concreta de lo que ahi se ve, de lo contrario igual seguiré intentando

Si, envíamelo al correo que aparece en mi sitio que dejo al pie (copialo de ahí o dejame un correo tuyo aquí)

No olvides mencionar el tema que nos ocupa y dejar la macro en el libro.

Ok muchísimas gracias, finalizare la pregunta y enviare la macro

No me llegó tu archivo... Si ya lo resolviste no olvides finalizar la consulta.

Estimada Elsa Matilde;

Ya te envíe los archivos, cuando tengas una novedad me avisas por el mismo correo que es

[email protected]

Saludos cordiales

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas