Vba traer datos de una hoja a otra e imprimir

Que tal necesito de su ayuda con lo siguiente:

Tengo un formulario en excel que almacena diferentes datos de clientes en una hoja de excel ( cada vendedor tiene su hoja para almacenar datos de sus clientes ) y tengo un formulario con el cual pide los datos y los almacena en la hoja IMPRIMIR para posterior a eso mandar esa hoja a imprimir:

Combobox1 (nombre del vendedor) -> lo almacena en la celda D1de la hoa IMPRIMIR

Combobox2 ( nombre de la ZONA) -> lo almacena en la celda D2 de la hoja IMPRIMIR

Textbox1(fecha de vencimiento) -> lo almacena en la celda D3 de la hoja IMPRIMIR

Lo que necesito es lo siguiente que dependiendo del vendedor se vaya a su hoja y que sea igual a la ZONA (COLUMNA E) y que sea igual a la fecha de vencimiento ( COLUMNA G) y que la estatus sea = "DEBE" (COLUMNA K) y los que cumplen esos requisitos me lleve la columa A, B, D, G, I a la hoja IMPRIMIR para posterior a eso despues de que me lleve todos los datos de los que deben se imprima.

1 Respuesta

Respuesta
1

Prueba con esto para obtener los datos, analiza el código, debes adaptarlo, puesto que desconozco la estructura de la Hoja Imprimir.

Dim h1 As Worksheets
Dim Ult_Reg As Integer
'En caso de que la Hoja se encuentre Nombrada, exactamente como el Item seleccionado del ComboBox(Vendedor). Puedes defnir h1 Directamente
Select Case ComboBox1    
   Case "Nombre Vendedor 1"
   Case "Nombre Vendedor 2"
   Case "Nombre Vendede ..."
End Select
'Podrias aplicar una serie de filtros, otra alternativa, seria esta:
'Considero que la Hoja(Vendedor) debe tener encabezados, por lo cual parto de la Fila 2
Ult_Reg= h1.Cells(Rows.Count, 5).End(xlUp).Row
For Zona= 2 To Ult_Reg    
   If (h1.Cells(Zona, 5)= ComboBox2 And h1.Cells(Zona, 7)= TextBox1) And h1.Cells(Zona, 11)="DEBE" Then
   'DEFINIR= Destino en la hoja IMPRIMIR
      With Sheets("IMPRIMIR")
         . Range(DEFINIR).Value= h1. Cells(Zona, 1).Value   'A
     . Range(DEFINIR).Value= h1. Cells(Zona, 2).Value   'B
     . Range(DEFINIR).Value= h1. Cells(Zona, 4).Value   'D
     . Range(DEFINIR).Value= h1. Cells(Zona, 7).Value   'G, Fecha De Vencimiento
     . Range(DEFINIR).Value= h1. Cells(Zona, 9).Value   'I
      End With
   End If
Next Zona    

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas