Bueno, estos son tus 2 problemas:
1- En mi 2da respuesta te indiqué que suponía para el ejemplo que la lista de productos está en
col B, dejando esta instrucción:
if target.column =
2
Como tus datos están en A solo necesitas cambiar el valor a 1.
2-En mi última respuesta te indiqué que en Hoja 1 la col A no debiera tener otros datos más abajo (veo que aparece un texto de Industria.....).
Ya ajusté la rutina sobre tu libro y esto quedó:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'como tus datos en hoja productos están en col A se controla la col 1
If Target.Column = 1 Then
'como la lista de prod solo puede ir hasta fila 50 (y debajo hay otros datos) busca la fila libre desde la 50 hacia arriba con tope en 19
fila = Sheets("factura").Range("A50").End(xlUp).Row + 1
If fila < 19 Then fila = 19
Sheets("factura").Cells(fila, 1) = Target.Value
'si no querés volver a la hoja Factura borrá la línea siguiente
Sheets("factura").Select
End If
End Sub
Saludos
Elsa
http://es.geocities.com/lacibelesdepunilla/manuales