Saltar al contenido

¿Cómo puedo tomar los datos de una matriz y ponerlos en otra?


Invitado

Recommended Posts

Buenos días gente, mi nombre es Jonathan y empecé un trabajo nuevo, por lo que ando corto de tiempo. Me presentaré a la noche cuando lea sus respuestas. De momento dejo mi consulta y me voy al trabajo otra vez.

-Resulta que el pibe creía que sabía de Excel, hasta que entró de pasante en una empresa automotriz que maneja más de 40.000 datos. Ahora me quiero pegar un tiro.

Uno de los problemas que me topé, es que hay bases de datos con muchos errores ortográficos y que estos errores, están causando problemas en el servidor y la página web. 

Necesito con urgencia una Macro que me lea datos de una matriz que está bien escritos y luego busque y reemplace una aproximación correcta en otra matriz.

Armé manualmente una hoja con todos los nombres de los vehículos que se comercializan por un lado y por otro, tengo todos los modelos. Esto que armé ya ma aseguré que esté bien escrito. Son como 500 marcas y los modelos andan por los 5000.

En el Excel final hay errores de este tipo, que son redundantes en muchas bases distintas:

 

TIIDA

F-100

CHEBROLET

AUDII

 

Necesito que el script lea en otra hoja estos datos correctos:

 

TIDA

F100

CHEVROLET

AUDI

 

Y luego busque y reemplace según más se aproximen. En caso de que falle igual tengo que hacer el control manual, pero no es lo mismo que andar cambiando cada guión, espacio o doble II que se le fue al que metió los datos al sistema.

Cada base tiene un promedio de 10000 artículos. De momento son 4, pero irán creciendo. Necesito que el script siempre lea de un Excel con datos correctos y busque por mi.

Les agradezco desde ya la ayuda, un saludo cordial.

Enlace a comentario
Compartir con otras webs

Hola

Lo que pides, más que una ayuda, es un desarrollo completo. Sugiero ver y entender lo mejor posible la forma en que aquí uso Replace con rangos y un bucle:

https://abrahamexcel.blogspot.com/2019/07/usando-el-traductor-de-google-en-excel.html

Lee, también, sobre el tema y luego intenta y sobre dichos intentos pides ayuda.

Enlace a comentario
Compartir con otras webs

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.

  • 96 ¿Te parecen útiles los tips de las funciones? (ver tema completo)

    1. 1. ¿Te parecen útiles los tips de las funciones?


      • No
      • Ni me he fijado en ellos

  • Current Donation Goals

    • Raised 0.00 EUR of 130.00 EUR target
  • Archivos

  • Estadísticas de descargas

    • Archivos
      177
    • Comentarios
      90
    • Revisiones
      27

  • Crear macros Excel

  • Mensajes

    • Saludos amigos espero estén bien Necesito generar un código numérico de cinco (05) dígitos no aleatorio en la Celda "Q4"que valla precedido de dos letras ejemplo : AA - 00000,  cuya numeración valla del  0000 al 9999  y cuando llegue al 9999 se reinicie automáticamente en 0000 debiendo actualizar la numeración cuando se haga click en el botón Limpiar Mucho les sabre agradecer la ayuda que me puedan brindar  PRUEBA.xlsm
    • Muchas gracias me a servido de mucho su colaboaracion y ayuda.   Excelente aporte amigo.
    • Gracias @Victor7. La solución que me das no es valida para mi proyecto ya que la idea es que en la pestaña DATAGlobal se vayan añadiendo registros, por lo que la formulas deben ser dinámicas en el sentido que según vaya añadiendo registros, se vayan completando el cuadro con los valores únicos.    Por otro lado, no puedo prescindir de la pestaña de valores únicos por que con esa información realizo otro tipo de informes con unidades totales, graficas con las fechas etc.. Muchas gracias por la ayuda
    • Abre el adjunto y pulsa el botón  GENERAR HOJAS y luego pulsa sobre cualquier fecha del calendario para ir a la hoja deseada. Observa que he añadido 2 botones en la hoja CALENDARIO, uno para generar las hojas y otro para eliminarlas. También he añadido una flechita azul en las hojas generadas para volver a la hoja CALENDARIO. Estas son las macros: En la hoja CALENDARIO: Private Sub Worksheet_SelectionChange(ByVal Target As Range) Dim d As Integer, m As Integer, a As Integer On Error Resume Next If IsNumeric(Target) Then If Not Target = "" Then x = Int((Target.Row - 6) / 9) y = Int((Target.Column - 5) / 8) + 1 m = x * 6 + y d = Target a = Right([E3], 4) Sheets(Format(d, "00") & "-" & Format(m, "00") & "-" & a).Activate End If End If End Sub En el Módulo1: Sub GenerarHojas() Application.ScreenUpdating = False Application.CopyObjectsWithCells = True Dim a As Integer a = Right([E3], 4) With Sheets("ORIGI") For fecha = CDate("01/01/" & a) To CDate("31/12/" & a) '<-- Periodo a generar .Copy After:=Sheets(Sheets.Count) ActiveSheet.Name = Format(fecha, "dd-mm-yyyy") [B4] = [B4] & " " & fecha Next End With Volver End Sub '-- Sub EliminarHojas(): On Error Resume Next Application.ScreenUpdating = False Application.DisplayAlerts = False Dim a As Integer a = Right([E3], 4) For fecha = CDate("01/01/" & a) To CDate("31/12/" & a) '<-- Periodo a eliminar Sheets(Format(fecha, "dd-mm-yyyy")).Delete Next End Sub '-- Sub Volver() Sheets("CALENDARIO").Activate End Sub   Libro1 (15).xlsm
    • Hola un cordial saludo a todos.  Tengo una hoja con un formato de calendario y tengo 365 hojas cada una con nombre de un dia mes y año  en especifico agradecería me ayuden a como puedo realizar la vinculacion de cada dia del calendario con cada hoja respectivamente sin hacerlo de forma manual , ya que es muy laborioso dado que lo tengo que hacer de una por una.   adjunto coloco un ejemplo de lo que tengo gracias. Libro1.xlsm
  • Visualizado recientemente

    • No hay usuarios registrado para ver esta página.
×
×
  • Crear nuevo...

Información importante

Echa un vistazo a nuestra política de cookies para ayudarte a tener una mejor experiencia de navegación. Puedes ajustar aquí la configuración. Pulsa el botón Aceptar, si estás de acuerdo.