Visual Basic - VB de Excel - ¨Posiconarse en una celda predefinda

Life is soft - evento anual de software empresarial
 
Vista:
sin imagen de perfil

VB de Excel - ¨Posiconarse en una celda predefinda

Publicado por Gustavo (2 intervenciones) el 16/11/2014 03:56:40
Me gustaría que alguien pueda decirme cómo escribir en VB unos pasos para incorporar en una macro de Excel para lo siguiente.
Coloco o tengo un valor en una celda (ej. A10).
Tengo una lista de valores en un rango (E2:E90), no ordenados.
Quiero que el cursos o el programa se posicione "n" celdas al costado derecho del rango (E2:E90) en la fila donde se encuentra el mismo valor que se puso o está en la celda (A10).
Cómo serían las sentencias en VB.

Otra duda que tengo es la siguiente (también para programar en Excel VB)
Pongo un número en una celda (ejemplo: la celda H8)
Quiero escribir en VB para que se posicione en la celda "Mx" ("Range ("Mx")) donde "x" es el número que puse en H8.
No se me ocurre cómo concatenar el contenido de la celda H8 para que se peque a la "M" y forme la celda completa.

Espero haber sido claro en ambos puntos.
Gracias por la ayuda que reciba de alguno de ustedes.
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
sin imagen de perfil

VB de Excel - ¨Posiconarse en una celda predefinda

Publicado por Roberto F. (11 intervenciones) el 17/11/2014 02:12:52
Sub Posicionar()
Dim fila As Integer

fila = ThisWorkbook.Worksheets("Hoja1").Range("H8").Value
ThisWorkbook.Worksheets("Hoja1").Range("M" & fila).Select

End Sub
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
sin imagen de perfil

VB de Excel - ¨Posiconarse en una celda predefinda

Publicado por Gustavo (2 intervenciones) el 17/11/2014 16:56:48
Gracias Roberto.
Intenté escribir una macro usando tu ayuda, pero algo hago mal.
Esto es lo que intento hacer.
El problema que planteaba al comienzo (lo del dato en celda A10 y colocar al costado de la lista de E2:E90 hice lo siguiente.
El rango que decía (E2:E90) es una lista de productos y coloqué al costado en columna oculta los números de fila.
En otro lado (A10) elijo uno de los productos de la lista desplegable.
En otra parte (H8) pongo =BUSCARV(A10;E2:F90;2;FALSO), de manera que coloque el número de la fila donde está el producto elegido en (A10).
Luego en (A11) coloco un dato que quiero copiar en la columna M de la fila donde está posicionado el producto (A10).
Entonces hice la siguiente macro:

Sub PonerDato ()

Dim fila As Integer
fila = Sheets("Hoja1").Range("H8").Value
Range(A11).Select ..........(Acá está el dato que quiero pegar al costado del producto)
Selection.copy
Range("M" & fila).Select
Selection.PasteSpecial paste=x1PasteValues...........(Acá no quiero que pierda el formato de la celda destino)
Aplication.CutCopyMode = False

End Sub

El problema es que se para la macro en "Selection.PasteSpecial paste=x1PasteValues.

Cambié la sentencia como "Selection.PasteSpecial paste=True", lo que no paró más la macro en esta línea sino en la siguiente (Aplication.CutCopyMode = False", a lo cual la saqué y no hubo más problemas, el asunto es que al cambiar la sentencia "Selection.PasteSpecial...." perdí el formato del destino.

No domino mucho VB, pero me podrás orientar qué es lo que se está ejecutando mal.

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