Macro para desglosar por item en columnas
-----
Para Dante Ammor
---
Primero que nada, me disculpo por mi compañero Carlos Manuel Arana
Somos compañeros en el trabajo y utilizamos el mismo archivo y el hizo la ultima publicacion
Donde se porto mal, por eso te pedimos disculpas si te ofendimos y te quiero pedir si es posible me ayudes con el mismo problema
La ultima publciacion que hiciste es como queremos que funcione el codigo
Este tu me lo proporcionaste
Private Sub CommandButton1_Click()
Dim condi1 As Date
Dim condi2 As Date
cond1 = TextBox1
cond2 = TextBox2
'DECLARACIÓN de variables
Dim a As Variant, b As Variant, c1 As Variant, c2 As Variant
Dim dic As Object, i As Long, j As Long, k As Long, sh As Worksheet
'ENTRADAS
Set sh = Sheets("Puestos")
Set dic = CreateObject("Scripting.Dictionary")
dic.CompareMode = vbTextCompare
a = Sheets("Salidas2").Range("A3:E" & Sheets("Salidas2").Range("A" & Rows.Count).End(3).Row).Value2
b = sh.Range("A3", sh.Range("A" & Rows.Count).End(3)).Value2
ReDim c1(1 To UBound(b), 1 To 4)
ReDim c2(1 To UBound(b), 1 To 6)
For i = 1 To UBound(b, 1)
dic(b(i, 1)) = i
Next
'PROCESO
For i = 1 To UBound(a, 1)
If a(i, 2) >= CDate(cond1) And a(i, 2) <= CDate(cond2) And dic.exists(a(i, 1)) Then
j = dic(a(i, 1))
k = Month(a(i, 2))
Select Case k
Case 1 To 4: c1(j, k) = c1(j, k) + a(i, 5)
Case 5 To 10: c2(j, k - 4) = c2(j, k - 4) + a(i, 5)
End Select
End If
Next
'SALIDA
sh.Range("B3").Resize(UBound(c1, 1), 4).Value = c1
sh.Range("G3").Resize(UBound(c2, 1), 6).Value = c2
Range("A1").Select
End Sub
Esto publicaste por ultimo
Y asi queremos que funcione
Este es un ejemplo con datos, en ningún momento menciono líneas de la macro:
En la hoja "salida2", en la celda D28 tienes "laboratorio", en la E28 tienes "50" y en la A28 tienes "Fastener caja"
En la hoja "puestos" en la celda "C2" tienes "laboratorio".
Supongo que en la hoja "puestos" en la fila donde encuentre "Fastener caja", vamos a suponer que está en la fila 20, entonces en la celda C20 hay que pegar el valor "50".
Si me haces el favor