Hola como copiar el valor de una celda ejem:en la hoja 2, pegar el valor de la celda C1 de la hoja 1

Hola quisiera saber como copiar el contenido de una celda de una hoja a otra con una condición
ejemplo: teno una base de datos de materiales los cuales están clasificados en este caso con números del 1 al 100; lo que yo deseo es aplicar una formula en la hoja 2 ,para pasar de esa base de datos que esta en la hoja 1; todos los datos de un numero especifico de la clasificación ejemplo: en una celda por decir B11 de la hoja 2, pegar el valor contenido en la celda (C1,) de la hoja 1 solo y solo si el valor de la celda (L1) es igual a "10" (en este caso L1 representa el numero de clasificación). En pocas palabras pegar en la hoja 2 unicamente todos los materiales clasificados con el numero 10 en la base de datos de hoja 1.
por favor les agradecería mucho pudiesen ayudarme muchas gracias

1 Respuesta

Respuesta
1

Como estás, lo puedes hacer con código de VBA, en www.programarexcel.blogspot.com encontraras varios ejemplos para buscar datos y pasar a otra hoja, como así también muchas otras cosas que puedes aplicar a tu proyecto, descarga el ejemplo de la página y adáptalo a lo que necesitas, te paso el código de como puedes hacer lo que tu quieres modifícalo de acuerdo a lo que necesitas hacer,

Sub busca()
'Evito movimientos en la pantalla
Application.ScreenUpdating
= False
'Dimensiono variables
Dim fila, filaaddress, contá As Integer
fila = 2
filaaddress = 2
contá = 0
On Error Resume Next
'Realiza el bucle mientras la columna 1 de hoja alumno no este vacía
While Sheets("Alumnos").Cells(fila, 1) <> Empty
'Controlo errores
' Realizo un nuevo bucle en la hoja adress mientras las filas de la columna 1 de esta hoja no estén vacías
' y el contador sea cero
While Sheets("Address").Cells(filaaddress, 2) <> Empty And contá = 0
dato1 = Sheets("Alumnos").Cells(fila, 1)
dato2 = Sheets("Address").Cells(filaaddress, 1)
'Si el nombre de la columna uno de la hoja alumno es igual al nombre de la columna uno de la hoja address
If Sheets("Alumnos").Cells(fila, 1) = Sheets("Address").Cells(filaaddress, 1) Then
'es decir si encontró el dato, copia la dirección en la hoja alumno y voy a la fila siguiente de la hoja alumnos
Sheets("Alumnos").Cells(fila, 3) = Sheets("Address").Cells(filaaddress, 2)
'Si encontró el dato hago que el contador sea 1 para que no busque más
contá = 1
Else
'Si no encontró el dato aumento la fila de la hoja address para seguir buscando hasta el final
filaaddress = filaaddress + 1
End If
Wend
'Aumento en uno la fila para seguir buscando el dato siguiente de la hoja alumnos
fila = fila + 1
'Vuelvo filaaddress y contador a su valor de origen
filaaddress = 2
contá = 0
Wend
'Vuelvo movimientos de la pantalla a su estado original
Application.ScreenUpdating = True
End Sub

otra preguntota ese código lo de bo de meter en la celdea en la que quiero que me aparezca el valor?

Estimado el código lo debes ingresar en un modulo. Abre un doc de excel luego alt f11 para abrir el editor de VB, insertas un modulo y lo incorporas a el, luego debes hacer referencia a el mediante un botón, para que se ejecute, te recomiendo que leas algo de VBA, no muy complejo perro algo que te introduzca en macros de excel. Cualquier cosa me escribes a [email protected] si tienes problemas para implementar el código.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas