Se me ocurren 2 opciones:
Opción 1 - Filtrar en la propia BBDD
Dim filtroanno, filtromes, filtroarticulo, filtrovendedor, nombrebbdd, ultimafila, hojatd As String
' Estableces los valores teniendo en cuenta que son textbox donde incluyes las variables de búsqueda en el UserForm (cambia los nombres por los correctos)
filtroanno = TextboxAnno.Value
filtromes = TextboxMes.Value
filtroarticulo = TextboxArticulo.Value
filtrovendedor = TextboxVendedor.Value
nombrebbdd = "aquí pones el nombre de la hoja donde está la BBDD"
hojatd = "aquí pones el nombre de la hoja donde están los datos para generar el gráfico"
'Teniendo en cuenta 4 columnas con las 4 variables: Año, Mes, Artículo y Vendedor
Sheets(nombrebbdd).Select
Range("A2").Select
'Estableces la última fila de la BBDD
ultimafila = Sheets(nombrebbdd).Cells(Rows.Count, "A").End(xlUp).Row
'Filtras en la propia BBDD
Selection.AutoFilter
ActiveSheet.Range("$A$1:$D$" & ultimafila).AutoFilter Field:=1, Criteria1:=filtroanno
ActiveSheet.Range("$A$1:$D$" & ultimafila).AutoFilter Field:=2, Criteria1:=filtromes
ActiveSheet.Range("$A$1:$D$" & ultimafila).AutoFilter Field:=3, Criteria1:=filtroarticulo
ActiveSheet.Range("$A$1:$D$" & ultimafila).AutoFilter Field:=4, Criteria1:=filtrovendedor
'Estableces la última fila de la BBDD Filtrada
ultimafila = Sheets(nombrebbdd).Cells(Rows.Count, "A").End(xlUp).Row
'Copias los datos filtrados
Range("$A$1:$D$" & ultimafila).Copy
'Quitas el filtro
Selection.AutoFilter
'Accedes a la hoja donde tienes los datos del gráfico
Sheets(hojatd).Select
'Si los encabezados empiezan en la celda A1
Range("A2").Select
Selection.Paste
'liberas los datos copiados
Application.CutCopyMode = False
__________________________________________
Opción 2 - Crear un Loop recorriendo la BBDD
Dim filtroanno, filtromes, filtroarticulo, filtrovendedor, nombrebbdd, primerafilavacia, hojatd As String
Dim datoanno, datomes, datoarticulo, datovendedor As String
filtroanno = TextboxAnno.Value
filtromes = TextboxMes.Value
filtroarticulo = TextboxArticulo.Value
filtrovendedor = TextboxVendedor.Value
nombrebbdd = "aquí pones el nombre de la hoja donde está la BBDD"
Hojatd = "aquí pones el nombre de la hoja donde están los datos para generar el gráfico"
Sheets(nombrebbdd).Select
Range("A2").Select
'Iniciamos Loop mientras la celda contenga un valor
Do While ActiveCell.Value <> ""
'determinamos los valores del registro de la bbdd
datoanno = ActiveCell.Offset(0, 0).Value
datomes = ActiveCell.Offset(0, 1).Value
datoarticulo = ActiveCell.Offset(0, 2).Value
datovendedor = ActiveCell.Offset(0, 3).Value
'establecemos la condición de coincidencia de valores
If datoanno = filtroanno And datomes = filtromes And datoarticulo = filtroarticulo And datovendedor = filtrovendedor Then
Sheets(hojatd).Select
primerafilavacia = Sheets(nombrebbdd).Cells(Rows.Count, "A").End(xlUp).Row + 1
Range("A" & primerafilavacia).Select
'Asignamos los datos en la hoja del gráfico
ActiveCell.Offset(0, 0).Value = datoanno
ActiveCell.Offset(0, 1).Value = datomes
ActiveCell.Offset(0, 2).Value = datoarticulo
ActiveCell.Offset(0, 3).Value = datovendedor
Sheets(nombrebbdd).Select
End If
'pasamos al siguiente registro
ActiveCell.Offset(1, 0).Select
Loop
___________________________________