Estimados, Tengo una hoja1 con 15 campos y quisiera poder buscar el nombre de cada campo en hoja2 y una vez encontrada copiar la columna y pegarla en la hoja1, de esas manera ordenaría los campos de mis archivos Saludos.
1 respuesta
Respuesta de calvuch
1
1
calvuch, las fallas constantes de esta web me cansaron!! me voy a...
Para esto lo siguiente Consideramos 2 hojas Hoja 1 y Hoja 2 En hoja1 deben estar los rótulos en Fila1 en hoja2 debes escribir el rotulo deseado a buscar en fila1 no importa que columna al ingresar el rotulo en hoja2 fila1 se activa el evento change de la hoja, y con esto invocara una macro que buscara el valor ingresado, si lo encuentra identificara la columna en donde están los datos, y con esto tomara toda la columna desde la fila2 hast la 65535, copiara los datos y los pegara en la hoja2. Vamos al código: Debes incluir un modulo, en este modulo pegas esto: Option Explicit Public i As Integer Sub busca(B As String) ' busca el rotulo en fila 1 en hoja11 y copia toda la columna a hoja 12 Dim c As Integer ' Hoja1.Activate On Error GoTo 1 Cells.Find(What:=B, After:=ActiveCell, LookIn:=xlFormulas, LookAt:= _ xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False _ , SearchFormat:=False).Activate c = Selection.Column Range(Cells(2, c), Cells(65535, c)).Select Selection. Copy Hoja1. Activate c = Selection.Column Range(Cells(2, c), Cells(65535, c)).Select i = 1 Hoja2. Paste Hoja2. Activate 1: i = 0 End Sub en la hoja 2 debes pegar esto: Private Sub Worksheet_Change(ByVal Target As Range) If Selection.Row - 1 <> 1 Then Exit Sub Dim buscado As String If i = 1 Then Exit Sub buscado = Range(Cells(1, Selection.Column), Cells(1, Selection.Column)).Value If Len(buscado) = 0 Then Exit Sub Call busca(buscado) buscado = "" Application.CutCopyMode = False End Sub Cuida de pegar todos las lineas del script, especial cuidado con la variable i, si esta no se encuentra presente y declarada como publica en el modulo Public i As Integer, se te colgara excel. Bye
Gracias te pasaste me funciono, aprovechando la situación me podrías ayudar con lo siguiente: Tengo 1 tabla en access y quiero actualizar toda esa tabla con una hoja de un libro excel como debería hacer el update ya tengo la base conectada gracias. Saludos.
Si te sirvió la respuesta que di a tu pregunta te agradecería cerrar y puntuar en base a la calidad de la misma, si deseas hacer otra pregunta, debes abrir una "nueva Pregunta"