Esta es tu solución: por un lado tenemos el evento INITIALIZE para cargar el combo con todos los artículos, y una vez seleccionado uno, pulsamos en el botón para ejecutar la macro commandbuttom que creará un informe en word.
Por un lado tenemos la hoja DATOS donde está la base de datos y por otro tenemos la hoja REPORTE donde creamos el informe previo a word.
Si necesitas el archivo dime tu mail para mandártelo.
Private Sub CommandButton1_Click()
Sheets("reporte").Range("a2:d" & Sheets("reporte").Range("a65000").End(xlUp).Row).Clear
articulo = ComboBox1.Value
Set busca = Sheets("datos").Range("c9:c1000").Find(articulo, LookIn:=xlValues, lookat:=xlWhole)
If Not busca Is Nothing Then
ubica = busca.Address
Do
filalibre = Sheets("reporte").Range("a65000").End(xlUp).Row + 1
Sheets("reporte").Cells(filalibre, 1).Value = busca.Offset(0, -1)
Sheets("reporte").Cells(filalibre, 2).Value = busca
Sheets("reporte").Cells(filalibre, 3).Value = busca.Offset(0, 1)
Sheets("reporte" ).Cells(filalibre, 4).Value = busca.Offset(0, 2)
Set busca = Sheets("datos").Range("c9:c1000").FindNext(busca)
Loop While Not busca Is Nothing And busca.Address <> ubica
End If
Sheets("reporte").Range("a1").CurrentRegion.Copy
Set appword = CreateObject("word.application")
appword.Visible = True
appword.Activate
appword.documents.Add
appword.Selection.Paste
Application.CutCopyMode = False
End Sub
Private Sub UserForm_Initialize()
Sheets("datos").Select
Range("c10").Select
Do While ActiveCell.Value <>
If InStr(valor, ActiveCell) = 0 Then
valor = valor &","& ActiveCell
End If
ActiveCell.Offset(1, 0).Select
Loop
valor = Mid(valor, 2, Len(valor) - 1)
valor = Split(valor, ",")
For x = 0 To UBound(valor)
ComboBox1.AddItem valor(x)
Next
End Sub