Ver Mensaje Individual
  #4 (permalink)  
Antiguo 09/12/2014, 11:54
Avatar de mrocf
mrocf
 
Fecha de Ingreso: marzo-2007
Ubicación: Bs.As.
Mensajes: 1.103
Antigüedad: 17 años, 1 mes
Puntos: 88
De acuerdo Respuesta: unir 2 tablas y repetir N veces los regitros

Cita:
Iniciado por Vicmon20 Ver Mensaje
¿Cómo puedo agregar un par de imagenes para ilustrar mejor lo que requiero?
Mmmmmmm...
Las imágenes se suben a los Foros de Powerpoint o similares. En los Foros de Excel se muestran archivos de Excel (si quieres que se te comprenda, claro).
________

De todos modos puedes hacer lo siguiente:

a) Click derecho en la solapa de la hoja que contiene las tablas en cuestión.

b) Selecciona: Ver código.

c) En la ventana que se te abrirá, copia y pega el siguiente código:

Código vb:
Ver original
  1. Sub NuevaTabla()
  2. '------------------
  3. 'by Cacho Rodríguez
  4. '------------------
  5. Dim Rng1 As Range, Rng2 As Range, C As Range, D As Range
  6. Dim Mat, Q&
  7.  
  8. On Error Resume Next
  9. Set Rng1 = Application.InputBox("Selecciona la celda que contiene al título: CVE_Cliente", Type:=8)
  10. If Err.Number > 0 Then Exit Sub
  11. Set Rng1 = Range(Rng1.Offset(1), Rng1.End(xlDown))
  12.  
  13. Set Rng2 = Application.InputBox("Selecciona la celda que contiene al título: CVE_Vendedor", Type:=8)
  14. If Err.Number > 0 Then Exit Sub
  15. Set Rng2 = Range(Rng2.Offset(1), Rng2.End(xlDown))
  16. On Error GoTo 0
  17.  
  18. ReDim Mat(1 To Rng1.Count * Rng2.Count, 1 To 4)
  19.  
  20. For Each C In Rng1
  21.   For Each D In Rng2
  22.     Q = 1 + Q
  23.     Mat(Q, 1) = C.Value
  24.     Mat(Q, 2) = C.Offset(, 1).Value
  25.     Mat(Q, 3) = D.Value
  26.     Mat(Q, 4) = D.Offset(, 1).Value
  27.   Next
  28. Next
  29.  
  30. Worksheets.Add.[a1].Resize(Q, 4) = Mat
  31. Erase Mat: Set Rng1 = Nothing: Set Rng2 = Nothing
  32. End Sub

d) Cierra las ventanas del ambiente Visual Basic for Application (VBA) en el que te encuentras y retorna al Excel.

e) Ejecuta la macro recién incorporada: NuevaTabla.

f) Al cabo de unos instantes terminarás obteniendo lo solicitado: ¿Lo podrías verificar?...

Saludos, Cacho R.