** NORMAS DEL FORO **
Inicio del foro Inicio del foro > Otros de Microsoft: Windows y Office > Excel
  Mensajes nuevos Mensajes nuevos RSS - completar hoja con valores no contenidos en otra
  Preguntas frecuentes Preguntas frecuentes  Buscar en el foro   Eventos   Registro Registro  Iniciar sesion Iniciar sesion

Tema cerradocompletar hoja con valores no contenidos en otra

 Responder Responder
Autor
Mensaje
acilu Ver desplegable
Habitual
Habitual


Unido: 11/Enero/2007
Localización: Zamora
Estado: Sin conexión
Puntos: 146
Enlace directo a este mensaje Tema: completar hoja con valores no contenidos en otra
    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
Arriba
lbauluz Ver desplegable
Administrador
Administrador
Avatar

Unido: 29/Marzo/2005
Localización: La Gloria
Estado: Sin conexión
Puntos: 3861
Enlace directo a este mensaje Enviado: 02/Junio/2023 a las 18:14
Prueba así:

If (Application.VLookup("municipios!A" & f, "estadistica!B2:" & r, 1, False)) = False Then

Un saludo.

Luis
El Búho es un pajarraco
Arriba
acilu55 Ver desplegable
Asiduo
Asiduo


Unido: 27/Septiembre/2011
Estado: Sin conexión
Puntos: 214
Enlace directo a este mensaje Enviado: 02/Junio/2023 a las 22:24
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
Arriba
AnSanVal Ver desplegable
Administrador
Administrador
Avatar

Unido: 16/Marzo/2005
Localización: España
Estado: en línea
Puntos: 5976
Enlace directo a este mensaje Enviado: 05/Junio/2023 a las 20:59

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.
Arriba
acilu55 Ver desplegable
Asiduo
Asiduo


Unido: 27/Septiembre/2011
Estado: Sin conexión
Puntos: 214
Enlace directo a este mensaje Enviado: 21/Febrero/2024 a las 19:14
perfecto: podeis cerrar el hilo que ya funciona
Gracias a todos de antemano
Arriba
 Responder Responder
  Compartir tema   

Ir al foro Permisos de foro Ver desplegable