Estas serían las macros necesarias para conseguir lo que solicitas. Por un lado tenemos la macro llenacombo para llenar de nombres a nuestro combobox. Y por otro lado está la macro pedido para generar los pedidos tal y como lo pides en tu consulta.
Puedes decirme tu mail y te paso el archivo con todo funcionando.
Sub llenacombo()
Sheets("datos").Select
Range("a2").Select
Do While ActiveCell.Value <>""
If InStr(valor, ActiveCell) = 0 Then
valor = valor & "," &
ActiveCell.Value
End If
ActiveCell.Offset(1, 0).Select
Loop
Sheets("pedido").Select
ActiveSheet.ComboBox1.Clear
valor = Mid(valor, 2, Len(valor) - 1)
valor = Split(valor, ",")
For x = 0 To UBound(valor)
ActiveSheet.ComboBox1.AddItem valor(x)
Next
End Sub
Sub pedido()
fila =Range("a65000").End(xlUp).Row + 5
contar =Application.WorksheetFunction.CountA(Columns(1))
If contar = 0 Then
fila = 1
End If
fecha = InputBox("introduzca la fecha")
If fecha = "" Then Exit Sub
nombre = ActiveSheet.ComboBox1.ValueSet busca =Sheets("datos").Range("a1:a100").Find(nombre,LookIn:=xlValues, lookat:=xlWhole)
If Not busca Is Nothing Then
Cells(fila, 1).Select
ActiveCell.Value = "NOTA DE PEDIDO"
With Selection
.Font.Bold = True
.Font.Size = 20
End With
ActiveCell.Offset(1, 0).Value =String(80, "*")
ActiveCell.Offset(2, 0).Value =CDate(fecha)
ActiveCell.Offset(3, 0).Value = nombre
ActiveCell.Offset(4, 0).Value =String(80, "*")
ActiveCell.Offset(5, 0).Select
ActiveCell.Value = "ARTICULO"
ActiveCell.Offset(0, 1).Value ="TALLA"
ActiveCell.Offset(0, 2).Value ="PRECIO UNI"
ActiveCell.Offset(0, 3).Value ="CANTIDAD"
ActiveCell.Offset(0, 4).Value ="COSTO"
ActiveCell.Offset(1, 0).Select
ActiveCell.Value = String(80,"*")
ActiveCell.Offset(1, 0).Select
ubica = busca.Address
Do
ActiveCell.Value = busca.Offset(0, 1)'articulo
ActiveCell.Offset(0, 1).Value = busca.Offset(0, 2) 'talla
ActiveCell.Offset(0, 2).Value = busca.Offset(0, 3) 'precio unitario
ActiveCell.Offset(0, 3).Value = busca.Offset(0, 4) 'cantidad
ActiveCell.Offset(0, 4).Value = busca.Offset(0, 5) 'costo
ActiveCell.Offset(1, 0).Select
Set busca =Sheets("datos").Range("a1:a100").FindNext(busca)
Loop While Not busca Is Nothing And
busca.Address <> ubica
ActiveCell.Value = "TOTAL"
ActiveCell.Offset(-1, 3).Select
ActiveCell.End(xlUp).Select
Do While ActiveCell.Value <>""
suma1 = suma1 + ActiveCell.Value
ActiveCell.Offset(1, 0).Select
Loop
ActiveCell.Value = suma1
ActiveCell.Offset(-1, 1).Select
ActiveCell.End(xlUp).Select
Do While ActiveCell.Value <>""
suma2 = suma2 + ActiveCell.Value
ActiveCell.Offset(1, 0).Select
Loop
ActiveCell.Value = suma2
End If
End Sub