Saltar al contenido

Problema a la hora de insertar eliminar una fila desde una hoja distinta


Nodoka

Recommended Posts

publicado

Llevo desde ayer dándome calabonazos contra la pared tras tirarme un par de días implementando una nueva hoja en mi lista, tras ver que todo funciona en la hoja en cuestión bien y hace lo que quiero, reviso el código para que todas las llamadas sean  echas con sheets ("Nombre de la Hoja") y asi poder usar el userform desde cualquier hoja

el caso es es que para insertar una celda uso la instrucción que me proporcionasteis en otro post y siempre la inserto en al misma posición.

 

Sheets("Hoja Datos").Rows(4).Insert

luego me rellena con los datos que tengo en los txtbox y combobox en sus respectivas celdas y me reordene por orden alfabetico   a partir de la fila3 para abajo, y definido un rango de A3:A100 a un Com_Datos para ver esos datos qeu hay con la salvedad que me muestra todo las filas vacías

hasta ahi no hay problemas salvo porque me muestra un choro de filas vacías?

para eliminar lo mismo usando un bucle en el que le digo que empiece a contar desde la fila 3 que es donde se van ingresando los datos y me compare cada fila con el nombre que haya en el Com_Datos que se encuentra el nombre a eliminar de la fila completa

For Contador = 3 To Userform.Com_Datos.ListCount + 2
fila = Contador
If Cells(fila, 1).Value = Userform.Com_Datos.Text Then
Sheets("Hoja Datos").Rows(fila).Delete

hasta aqui funciona perfecto de este modo, me ingresa y me elimina filas sin problemas desde cualquier  hoja del libro.

El problema viene a que yo he creado una consulta desde una tabla cuyo rango he definido desde A2:A3 y diciéndole que contiene un nombre para que me muestre solo los datos que valla añadiendo luego al insertarlos desde un boton con el código de arriba puesto  en la filas A4 y le he asignado a esa consulta el nombre como Datos_Insertados y asi puedo asignarselo Com_Datos  y me muestre solo las filas con celdas con datos ingresados y así me evito qeu me salga en la lista las chorrocientas filas en blanco sin datos.

El caso es que estando en la hoja donde ingreso estos datos va todo perfectamente me crea la filas me la rellena y elimino la filas con el dato que yo quiera, ahora si si yo estoy en otra hoja llamo al userform y le doy a crear filas me las crea sin problemas pero si voy a eliminarlas se cuelga el excel y se cierra, tras crear una par de filas  desde otra hoja me vuelvo a la  hoja en cuestión donde se han insertado y veo que todas las filas que he añadido se encuentran seleccionadas cosa que no pasa creándolas estando es esa Hoja donde esta la tabla que voy rellenando.

He probado que tras insertar cada nueva fila ejecute este instrucción

 Sheets("Hoja Datoso").Cells(3.1).Select

para asi evitar que aparezcan seleccionadas esas filas que hacen que se cuelgue cuando recorre el bucle de búsqueda para eliminar la fila en cuestión, pero este dice que tu tia y no lo hace cuando voy a la hoja de Datos la filas siguen seleccionadas?

publicado

Joer después de escribir todo el tochaco este me he puesto de nuevo a revisar el codigo y em he dado cuenta que el problema estaba en el bucle del for que he puesto arriba no lo habia redireccionado a la hoja en cuestión?‍♀️

 If Sheets("Hoja Datos").Cells(fila, 1).Value = Userform.Com_Datos.Text Then

 

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.

  • 109 ¿Te parecen útiles los tips de las funciones? (ver tema completo)

    1. 1. ¿Te parecen útiles los tips de las funciones?


      • No
      • Ni me he fijado en ellos

  • Ayúdanos a mejorar la comunidad

    • Donaciones recibidas este mes: 0.00 EUR
      Objetivo: 130.00 EUR
  • Archivos

  • Estadísticas de descargas

    • Archivos
      188
    • Comentarios
      98
    • Revisiones
      29

    Más información sobre "Cambios en el Control Horario"
    Última descarga
    Por pegones1

    3    1

  • Crear macros Excel

  • Mensajes

    • Prueba ahora  RCI PRUEBA2.xlsm
    • Saludos @JSDJSD espero estes bien agradecido como siempre por sus oportunas y acertadas respuestas Se solvento lo de la copia de datos del ListBox1 al TextBox3, sin embargo, ahora cuando se guardan los datos se activa el MsgBox "Datos Incompletos: Seleccione un Código", cosa que no sucedía en el archivo original: Private Sub ListBox1_Click(): On Error Resume Next 'Alertas del Sistema If ComboBox1 = "" Then ListBox1 = Enabled MsgBox "Datos Incompletos: Seleccione un Código", vbExclamation Exit Sub End If End sub Dicho MsgBox debe de activarse única y exclusivamente cuando se intente seleccionar un caso en el ListBox1 y el ComboBox1 = "" y no debería activarse cuando se guarde la información, solventando este único y último detalle se podría dar por cerrada esta consulta.
    • Saludos @JSDJSD espero estes bien gracias por la solución que propuso para mi pregunta.  Tome el archivo con sus correcciones y al descargarlo verifique no posee una funcionalidad que si estaba en el archivo original de mi pregunta en concreto tiene que ver con la información que debería mostrarse en el TextBox2  de allí que:  Cuando selecciono el código y hago click sobre en el Listbox1  los datos se copian correctamente en los TextBox3 y TextBox5 pero en el TextBox2 no se copia ningun dato revisando me pude percatar que con la macros que agrego no se muestran datos en el TextBox2 a partir de la Columna "G" y cuando se suspende el funcionamiento de la Macro ComboBox1 si se muestran correctamente todos los datos en los TextBox2, 3 y 5 pero en el Listbox1 no se muestran exclusivamente los datos correspondientes al código que se selecciona en el ComboBox1,  mientras que si se suspende el funcionamiento de la Macro BuscarYCargarEnListBox los datos se mostrados en el Listbox1 corresponden exclusivamente al código que se selecciona en el ComboBox1 dichos datos se copian correctamente en los TextBox3 y TextBox5 pero en el TextBox2 no se copia ningun dato
  • Visualizado recientemente

    • No hay usuarios registrado para ver esta página.
×
×
  • Crear nuevo...

Información importante

Echa un vistazo a nuestra política de cookies para ayudarte a tener una mejor experiencia de navegación. Puedes ajustar aquí la configuración. Pulsa el botón Aceptar, si estás de acuerdo.