Valor no definido de un textbox

Buenos días.
Espero que te encuentres muy bien y de antemano te doy gracias por tu ayuda.
Tengo un inconveniente y es el siguiente.
Dentro de un userform tengo un textbox cuyo valor esta ligado a determinada celda de una hoja de excel.
De este modo no puedo insertar filas dentro de la hoja porque me cambiaría el rango y entonces no me muestra dicho valor.
Como debo hacer para que el textbox sin importar si inserto o no filas me muestre el ultimo valor de la columna.
Ya que se me torna muy incomodo estar cambiando el rango de la celda cada vez que inserto una fila.
Muchas gracias por tu ayuda...

1 Respuesta

Respuesta
1
En el evento donde insertas filas, pon esto:
TextBox.Value = Range("A" & Rows.Count).End(xlUp).Value
Es todo
Muchas gracias por tu ayuda.
Pero no logro ajustar la rutina que me das para leer el valor final de una columna
necesito que el textbox 3 tenga esa característica que me lea el ultimo valor de la columna.
(Las filas las voy insertando manualmente a medida que las necesito)
y tengo la siguiente rutina...
Private Sub UserForm_Initialize()
TextBox1 = UserForm1.ComboBox1
valor = UserForm1.ComboBox1
TextBox1 = Sheets("MATERIALES").Range("B6").Value
TextBox2 = Sheets("ACERO 12L14 RED 6,73 MM").Range("F7").Value
TextBox3.Value = Sheets("ACERO 12L14 RED 6,73 MM").Range("I40" & Rows.Count).End(xlUp).Value
TextBox5 = Sheets("ACERO 12L14 RED 6,73 MM").Range("D2").Value
TextBox6 = Sheets("ACERO 12L14 RED 6,73 MM").Range("D3").Value
TextBox7 = Date
Unload UserForm1
End sub
Muchas gracias...
En ese mismo evento que tienes tu macro, solo modifica cada textbox para que después de hacer referencia a la hoja y a la columna pongas esto:
& Rows.Count).End(xlUp).Value
Por ejm en tu primer TextBox quedaria asi:
TextBox1 = Sheets("MATERIALES").Range("B" & Rows.Count).End(xlUp).Value
Modifica los demás, y veras que si funciona como quieres.
Muchas gracias me funciona perfecto, te agradezco mucho.
Pero dado este contacto necesito pedirte otro favor para que mi macro quede completa. He intentado hacerlo pero no he tenido buenos resultados es lo siguiente:
En userform tengo 2 combobox : el primero contiene varias referencias de acero y el segundo contiene varias referencias de acero inoxidable. Al hacer click sobre cualquier referencia del combobox me direcciona a una hoja de excel, la cual esta dispuesta con un formato de kardex para dicho material que seleccione, en donde se indica el movimiento que va teniendo el material durante el mes (entradas y salidas).
¿Pero no se como hacer para ingresar un material nuevo ... como debo ajustar la macro? Sea mediante otro userform o algo similar que me pida el nombre del material y así mismo me cree una hoja con el formato requerido (kardex). Espero haberme explicado y que me puedas ayudar ya que es lo ultimo que me falta para completar mi trabajo.
La idea es que un userform me pida los datos como nombre del material y que la información que ingrese me quede almacenada en el combobox respectivo y ya al estar almacenada allí tener la posibilidad de seleccionarlo y que me direccione a la hoja de excel que le corresponde.
La verdad no se si es posible realizar esto que te acabo de mencionar
Muchas gracias por tu tiempo y tu valiosa ayuda.
La idea es la misma, tienes que crear un userform con tantos textbox como columnas o datos quieras agregar y pones un botón con el que agregaras esos datos a tu hoja de esta forma:
Por ejm:
'Si quieres agregar una Hoja seria asi:
Sheets.Add
ActiveSheet.Name = "Ponle un nombre a la hoja aqui"
'O si quieres agregar 1 hoja con el Formato del Kardex anterior seria asi
Sheets("Hoja KArdex").Copy After:=ActiveSheet
'Y borras los datos sin los encabezados, suponiendo q esten en la fila 1
Dim UltFila, UltColu as Long
UltFila = Range("A" & Rows.Count).Row
UltCol = Cells(1, Columns.Count).End(xlToLeft).Column
Range("A2", Cells(UltFila, UltCol).Address).ClearContents
'Y agregas los Datos Nuevos
With Sheets("Hoja Nueva").Range("B" & Rows.Count).End(xlUp).Offset(1, 0)
      .Value = TextBox1
      .Offset(0, 1) = TextBox2
      .Offset(0, 2) = TextBox3
End With
'Para llenar un Combobox con Datos seria asi:
Combobox1.List = Range("A2", Range("A" & Rows.Count).End(xlUp).Address).Value
Muchas gracias, tu ayuda me ha sido de gran utilidad, el código para crear las hojas de acuerdo a un formato preestablecido me funciona perfecto, pero lo de ingresar los datos al combobox y de ahí relacionarlo al userform no me funciona, la verdad es que no tengo mucha experiencia en macros.
Te puedo mandar el archivo para así explicarte un poco mejor lo que necesito hacer y así me des tu opinión sobre que es lo más conveniente de hacer.. porque en realidad he intentado mucho con esta parte pero no he logrado buenos resultados.
Mil gracias..
Puedes enviarlo a [email protected]

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas