Hola!!
Intenta asi:
Código vb:
Ver originalDim CnN As New ADODB.Connection
Dim Rst As New ADODB.Recordset
Private Sub Command4_Click()
z = 0
Do While z < lstCodigo.ListCount
CnN.Execute "INSERT INTO ventas(Cliente, CantidadVendida, Detalle, Precio , PrecioTotal, NumeroFactura, Codigo, Fecha, Unidad) VALUES ('" & txtCliente & "', " & Val(lstCantidad.List(z)) & ", '" & lstDetalle.List(z) & "', " & Val(lstPrecio.List(z)) & ", " & Val(lstTotal.list(z)) & ", " & Val(txtNumeroFactura) & ", " & Val(lstCodigo.List(z)) & ", '" & txtFecha & "', " & lstUnidades.List(z) & " )"
z=z+1
Loop
MsgBox "guardado"
End Sub
Noté que no usas el lstTotal.list(z). Recuerda que debes tener la misma candidad de items en todos los listbox.