Excel - ultima celda

 
Vista:

ultima celda

Publicado por Hisoka (30 intervenciones) el 23/01/2007 14:09:56
Hola a todos, me gustaria saber si hay alguna manera en la que pueda insertar a traves de una formulario algo en una celda, pero esta celda es la ultima de una lista...o como hago la condicion para que sea la ultima de una lista....xq el problema que tengo es que tengo el insertar en la fila 3 (A3 - B3 - C3 - D3 - E3 - F3), entonces al momento de ordenar la lista me la ordena dejando los valores bajo el encabezado de la lista (osea en A2...etc), entonces lo que queda en la fila 3, al momento de insertar nuevamente con el formulario, se borra...si soy poco claro me piden la informacion que necesiten, gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:ultima celda

Publicado por Víctor (24 intervenciones) el 23/01/2007 14:53:04
Se más preciso porfavor
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

a ver si ahora se entiende

Publicado por Hisoka (30 intervenciones) el 23/01/2007 15:23:22
Tengo una lista creada que se llena a traves de un formulario en VB.

La lista tiene los encabezados entre las celdas A1 y F1.

El ingreso de los datos se realiza entre las celdas A3 y F3, y al momento de insertar los datos bajo un renglon, quedando lo ingresado entre A4 y F4.

El problema es que al ordenar la lista en forma ascendente o descendente los datos quedan ordenados entre las celdas A2 y F2 y de ahi para abajo, entonces como quedan datos entre las celdas A3 y F3 al momento de insertar un nuevo dato los datos que anteriormente estaban entre A3 y F3 son borrados de la lista.

RUT Sigla Razon Social Ing. de proyecto Un. Control
15335626-2 ENTEL ENTEL S.A agonzalez C.Cotal
2345678-8 GHJD Yellow C.Keller CPCIC
2345678-8 GFFGHJ Green C.Cotal CPCFN

por ejemplo:

ahi esta la lista ordenada, pero si aplico el formulario lo que esta en en A3 (2345678-8 GHJD Yellow C.Keller CPCIC) es eliminado y los nuevos datos son insertados en la fila 4 ya que va bajando un renglon, entonces me gustaria saber como puedo hacer insertar el dato en la ultima fila, ahora seria A5, pero si sigo insertando datos cambia el valor.

no se si una solucion seria contar la cantidad de datos que tiene la columna e insertar los datos en vez de A3 en A"cantidad_de_datos"+1...y si es que se puede hacer eso...como lo hago en visual.

Espero haber sido mas claro...si me pueden ayudar muchas gracias, sino, gracias por la intencion.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:ultima celda

Publicado por José Luis (700 intervenciones) el 23/01/2007 15:12:46
Hola Hisoka, una solución a tu problema.
En una celda pon la fórmula =CONTARA(A:A), esto contará las celdas (filas) que tienes ocupadas de la columna A, (tal y como está escrita sólo funciona si todas las celdas están ocupadas desde del inicio o si controlas las que están vacías).

Posteriormente obtienes el valor de la celda que contiene en número de filas
Range("C1").Select
NFilas = ActiveCell.Value
en este caso supongo que la celda C2 contiene la fórmula de contar.

Ahora inserto los datos en la siguiente fila
Range("A" & NFilas + 1).Value = "Nuevo dato"
Range("B" & NFilas + 1).Value = "Nuevo dato"

Y ya está.
Siempre que hagas un

Range("C1").Select
NFilas = ActiveCell.Value

obtendrás el número de filas.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Gracias, pero...

Publicado por Hisoka (30 intervenciones) el 23/01/2007 15:30:51
Hola Jose Luis, muchas gracias...pero...

1.- Esto: =CONTARA(A:A)...lo pongo en la celda donde aparece un asterisco (*) en la ultima celda de la lista??o en una celda vacia fuera de la lista??

2.- Esto: Range("C1").Select
NFilas = ActiveCell.Value
Range("A" & NFilas + 1).Value = "Nuevo dato"
Range("B" & NFilas + 1).Value = "Nuevo dato"

Lo pongo en el modulo??? o en el boton de insertar???

Gracias, saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Gracias, pero...

Publicado por José Luis (700 intervenciones) el 23/01/2007 16:30:49
1 - El CONTARA lo pones fuera del rango de celdas donde tienes que insertar.
Puedes hacer que la macro lo ponga y lo borre después de obtener el valor (usa el grabador de macros).

2 - Ponlo en el botón de insertar
Ejemplo:

Private Sub CommandButton1_Click()
'Número de filas
NFilas = Range("D1").Value
NFilas = NFilas + 1
'Insertar datos
Range("A" & NFilas).Value = TextBox1
Range("B" & NFilas).Value = TextBox2
Range("C" & NFilas).Value = TextBox3
'Vaciar los datos del formulario
TextBox1 = Empty
TextBox2 = Empty
TextBox3 = Empty
TextBox1.SetFocus
End Sub

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Gracias, pero...

Publicado por Víctor (24 intervenciones) el 23/01/2007 19:45:44
José Luís, disculpa pero me asalta una duda, que código debes agregar para que al cargar un nuevo registro lo diriga inmediatamente a la celda vacia que está mas abajo, por que el código lo que hace es grabar encima del anterior.

me entiendes la pregunta, te agradecería una ayudita amigo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Gracias, pero...

Publicado por edwin (3 intervenciones) el 23/01/2007 23:02:44
para recorrer la talba de excel hasta encontar la ultima fila (primera vacia) se usa el siguiente codigo

f = 1 `para iniciar desde la primera fila
Do While Not IsEmpty(Cells(f, 1)) 'recorro la BD hasta que encuentre
'una celda vacia
f = f + 1
Loop

f contedrá el valor de la primera fila que encuentre vacía
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Gracias, pero...

Publicado por José Luis (700 intervenciones) el 24/01/2007 00:20:46
Pues Edwin lo ha dejado muy claro, aunque el problema de Hisoka es diferente porque usa una lista (Datos->Lista ) y ese método no sirve.

También puede usarse otro método de forma que siempre se tenga el dato de la última celda poniendo un p.ej. CONTARA("F:F") en la celda H1

Código ejemplo
Range("H1").Select
Selection.Font.ColorIndex = 2 ' color blanco para que no se vea la fórmula
'Poner la fórmula
ActiveCell.FormulaR1C1 = "=COUNTA(C[-2])"
'Coger el dato de número de filas
NFilas = Range("H1").Value
Selection.ClearContents ' borrar la fórmula

NFilas = NFilas + 1

'añadir los datos
Range("A" & NFilas).Value = TextBox1
Range("B" & NFilas).Value = TextBox2
Range("C" & NFilas).Value = TextBox3
Range("D" & NFilas).Value = ComboBox1
Range("E" & NFilas).Value = ComboBox2
Range("F" & NFilas).Value = ComboBox3

Fin codigo ejemplo

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar