completar hoja con valores no contenidos en otra |
Responder ![]() |
Autor | |
acilu ![]() Habitual ![]() Unido: 11/Enero/2007 Localización: Zamora Estado: Sin conexión Puntos: 141 |
![]() ![]() ![]() ![]() ![]() Enviado: 01/Junio/2023 a las 13:52 |
Quiero completar una columna de valores con aquellos que figuran en otra columna de otra hoja y que no están en la primera.
lo mas que se me ocurre es esto, pero no me funciona: ------------------------------------------------------------------ Sub rellenarinexistentes() Dim f As Integer Dim muni As Integer 'cuento las filas de la hoja "estadistica" y me situo en la ultima fila Worksheets("estadistica").Activate Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Select r = ActiveCell.Row 'paso a la tabla "municipios" para recorrerlos uno a uno y ver los faltan en "estadistica" y añadirlos Worksheets("municipios").Activate f = 2 Do Until ActiveSheet.Cells(f, 1) = "" 'aqui es donde se para por "no coinciden los tipos" If Application.VLookup("municipios!A" & f & ", estadistica!B2:"& r &", 1, False) = False Then muni = municipios.ActiveCell.Value estadistica.ActiveCell.Value = muni estadistica.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Select End If f = f + 1 Loop End Sub ¿Alguien me puede ayudar a descubir mi error?
Editado por acilu - 01/Junio/2023 a las 13:54 |
|
![]() |
|
lbauluz ![]() Ver perfil usuario
Enviar mensaje privado
Ver los mensajes del usuario
Visite la página de los usuarios
Añadir a la lista de amigos
Administrador ![]() ![]() Unido: 29/Marzo/2005 Localización: La Gloria Estado: Sin conexión Puntos: 3841 |
![]() ![]() ![]() ![]() ![]() |
Prueba así:
If (Application.VLookup("municipios!A" & f, "estadistica!B2:" & r, 1, False)) = False Then Un saludo. Luis
|
|
El Búho es un pajarraco
|
|
![]() |
|
acilu55 ![]() Asiduo ![]() Unido: 27/Septiembre/2011 Estado: Sin conexión Puntos: 200 |
![]() ![]() ![]() ![]() ![]() |
sigue dando
error 13 en tiempo de ejecución no coinciden los tipos el cado es que poniendo en una celda =BUSCARV(municipios!$A1;Estadistica!B:B;1;FALSO) da el resultado correcto, es decir el valor donde esta y #N/D donde no existe el valor. En Acces si consigo hacerlo pero me cambia el formato de las tablas lo que es un engorro, pero para salir del paso por ahora me vale, seguiré haciendo pruebas en excel, porque no encuentro el error
|
|
Gracias a todos de antemano
|
|
![]() |
|
AnSanVal ![]() Ver perfil usuario
Enviar mensaje privado
Ver los mensajes del usuario
Visite la página de los usuarios
Añadir a la lista de amigos
Administrador ![]() ![]() Unido: 16/Marzo/2005 Localización: España Estado: Sin conexión Puntos: 5939 |
![]() ![]() ![]() ![]() ![]() |
Prueba con este otro código: Sub RellenaFaltantes() Dim celda As Range, filaM·U&, filaE& Worksheets("Municipios").Activate filaM·U = Cells(Rows.Count, 1).End(xlUp).Row With Worksheets("Estadística") filaE = .Cells(Rows.Count, 1).End(xlUp).Row + 1 For Each celda In Range("A2:A" & filaM·U).Cells 'Compruebo con BUSCARX que (si no existe) no devuelve error. If WorksheetFunction.XLookup(celda.Value, .Range("A2:A" & _ filaE - 1), .Range("A2:A" & filaE - 1), "") = "" Then .Cells(filaE, 1).Value = celda.Value filaE = filaE + 1 End If Next celda End With End Sub ADITADO: Aquí supongo que los municipios están (en ambas hojas) a partir de A2 (títulos en A1). Editado por AnSanVal - 05/Junio/2023 a las 21:12 |
|
Saludos desde Tenerife.
|
|
![]() |
Responder ![]() |
|
Tweet
|
Ir al foro | Permisos de foro ![]() Usted No puede publicar nuevos temas en este foro Usted No puede responder a temas en este foro Usted No puede borrar sus mensajes en este foro Usted No puede editar sus mensajes en este foro Usted No puede crear encuestas en este foro Usted No puede votar en encuestas en este foro |