Copiar celdas aleatoriamente

Buenos días, tengo 1000 celdas en HOJA1, deseo que por ejemplo en un daterminado momento copie A2, A20, A500 a la hoja 2 en B2, B3, B4.. No si me explico, el tema es que estos valores pueden cambiar...
Es para un comercio, la vente promedio no supera los 20 artículos
este código me anduvo, pero me limita a las que pre-establezco:
Sub copiar()
Range("e2").Value = Range("Hoja2!$A$1").Value
End Sub
Sub copiar()Range("Hoja2!$A$1").Value = Range("e2").
ValueEnd Sub
gracjas

4 respuestas

Respuesta
1
No te acabo de entender bien la pregunta.
¿Lo qué me pides es que te copia celdas al azar de la hoja 1 a la hoja 2?
¿O qué quieres una función como tienes hecha, pero donde vayas especificando qué celdas quieres copiar?
En el segundo caso, vale lo que tienes, con una simple modificación, donde en lugar de indicarle directamente la celda que quieres copiar le indicas otra celda, de tal manera que vayas modificando su valor por el número de la celda que quieres...
Claro, es como en el segundo caso. Te especifico un poco más como esta echo el excel que tengo y cual es la función que quiero incorporar..
Es una planilla en la HOJA 1 con: codigoProducto \ Nombre producto \ precio
Entonces una vez que el vendedor encuentra el producto mi idea es ponerle un botón o algo que le permita añadir los campos de ese producto a una factura que tengo armada en la HOJA 2.
El tema es que con el código que te pasé tengo que programarlo tantas veces como productos tenga y/0 voy incorporando...
En si, al código que yo te pasé abría que incorporarle que el "origen" la posición donde esta el producto.. no se si me explico y no se si tiene solución.. si quieres te puedo enviar al mail el archivo para que lo evalúes..
Desde ya, muchas gracias
Saludos atentamente
Te aclaro, porque leyendo lo que te puse antes creo que te confundí más..
Hoja 1: la uso como base de datos de todos los productos, tienen código, precio, nombre.
Hoja 2: arme una factura con 20 espacios para productos, donde puedo especificar cantidad y me suma y me saca todo tipo de cuenta..
Mi intención es que me permita, con un botón, con un buscar o con algo.. seleccionar productos de la hoja 1, y copiarlos en la factura de la hoja 2...
Ahí creo que queda más claro, el método utilizado no me importa, te tiré lo de copiar porque fue yo único que me funciono.. el buscar no me anduvo..
Gracias nuevamente
Quería comentarte que pude solucionar el problema, combinando un poco todos los consejos que obtuve en el sitio..
Muchas gracias por la atención, y por el tiempo dedicado..
Saludo Atentamente..
Respuesta
1
No me queda clara tu consulta ni cual es el uso ¿cómo eliges los valores que pasan a la hoja2?
Por ejemplo una posibilidad que yo uso mucho es que te ubiques con el cursor del mouse en la fila deseada... ¿te serviría esto?
Te aclaro
Hoja 1: la uso como base de datos de todos los productos, tienen código, precio, nombre.
Hoja 2: arme una factura con 20 espacios para productos, donde puedo especificar cantidad y me suma y me saca todo tipo de cuenta..
Mi intención es que me permita, con un botón, con un buscar o con algo.. seleccionar productos de la hoja 1, y copiarlos en la factura de la hoja 2...
Ahí creo que queda más claro, el método utilizado no me importa, te tiré lo de copiar porque fue yo único que me funciono.. el buscar no me anduvo..
De la forma que decís con el cursor no se como se hace, pero parece una forma muy fácil y sí, me serviría, ya que la persona que lo utiliza no tiene grandes habilidades con la PC
desde ya, muchas gracias
Primero obtienes la fila donde estás ubicado el la hoja1 oprimiendo un botón que llame la macro (el botón lo ubicas como encabezado). La macro pasará la fila activa a una celda auxiliar que no imprimas o que no se vea en pantalla en la hoja2. Con este dato puedes usar BUSCARV si en tu hoja1 la numeras con filas o, mejor aún, con la fórmula INDICE
Sub filaactiva()
Sheets("Hoja1").Select
fila = ActiveCell.Row
Sheets("Hoja2").Select
Cells(1, 10) = fila ' va a dejar la fila en la hoja2 en E1
End Sub
ABC esta matriz la tienes en hoja1
1F3
2V6
3V1 
En la hoja2 puedes llamar los datos con =indice(matriz;fila;columa) ejemplo:
=INDICE(Hoja1!$A$1:$C$3;$E$1;2) 
o bien si tienes tu hoja1 con filas numeradas (siempre como primer dato de tu matriz) funcionará con =buscarv(E1;Hoja1!$A$1:$C$3;2;0)
¿Se entiende?
Se me olvidaba... vas a tener una desventaja con lo que te planteaba porque al cambiar de fila cambiarán los datos. Te servirá más copiar y pegar tantos rangos como necesites... acá un ejemplo:
Sub copiaypega()
Sheets("Hoja1").Select
fila = ActiveCell.Row
Range("A" & fila & ":" & "B" & fila).Select
Selection.Copy
Sheets("Hoja2").Select
Range("A1").Select
Selection.End(xlDown).Select 'va al final de tus datos
'en hoja2 tienes que tener A1 y A2 con texto y tus datos comienzan en A3
fila2 = ActiveCell.Row + 1
Range("A" & fila2).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
End Sub
Bueno, son ideas, tienes que adaptarlas a tus necesidades.
Si se entiende.. ahora estoy probando y como decís, adaptando tus ideas al que cree yo... dejame que me pongo a ver si puedo armar algo así no te robo más tiempo..
Estoy probando el 1er ejemplo que me pasaste...
Te agradezco por la atención y la info.. cuando avanzo un poco si se me presenta alguna otra complicación te aviso..
Gracias nuevamente
Saludos
Quería comentarte que pude solucionar el problema, combinando un poco todos los consejos que obtuve en el sitio..
Muchas gracias por la atención, y por el tiempo dedicado..
Un abrazo!
Respuesta
1
No se si te entendí pero si lo que quieres es copiar la columna a de la hoja 1
En la columna b de la hoja 2
Usa este código .
Sub copiar()
'
' copiar Macro
'
'
    Columns("A:A").Select
    Selection.Copy
    Sheets("Hoja2").Select
    Range("B1").Select
    ActiveSheet.Paste
    Application.CutCopyMode = False
    Sheets("Hoja1").Select
    Range("A1").Select
End Sub
Si no es esto lo que necesitas por favor esplicmelo un poco mejor
Disculpa, Me explico mejor:
Hoja 1: la uso como base de datos de todos los productos, tienen código, precio, nombre.
Hoja 2: arme una factura con 20 espacios para productos, donde puedo especificar cantidady me suma y me saca todo tipo de cuenta..
Mi intención es que me permita, con un botón, con un buscar o con algo.. seleccionar productos de la hoja 1, y copiarlos en la factura de la hoja 2...
Ahí creo que queda más claro, el método utilizado no me importa.. me dieron un par de respuestas pero sinceramente no supe como implementarlas..
Hay un método que selecciono varias celdas y uno toca en un botón y las pasa a la hoja 2..
Desde ya, muchas gracias
Veamos si los datos están asociados quizás valga con buscarv
Sino igual con un formulario tipo combox
Pásame tu archivo y veo que se puede hacer
Respuesta
1
OK. Felicidades. Para la historia, podrías acercar tu solución aquí.
-
Ahora, te pido por favor que retires tu pregunta de la bandeja
-

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas