Estimados,
Junto con saludar, tengo la siguiente consulta:
Cree esta formula en F4, =SUMA(FILTRAR(C2:C199;AÑO($A$2:$A$199)=AÑO(C1))) que suma valores de una tabla en función del AÑO ubicado en C1 y ubicado en A2:A199 (ver excel adjunto).
Lo que necesito ahora, es que los valores contenidos en C2:C199 que tienen una Moneda en la columna B2:B199 que puede ser EUR o USD, tenga conversión de valor en función de una tabla auxiliar ubicada en E9:H11.
El resultado esperado sería 160.000.
Saludos y de antemano, muchas gracias!Ejemplo sumar con Tipo de cambio.xlsx
Por
Matías86, · publicado
Hola gente soy nuevo y estoy tratando de adaptar un programa vba a mi necesidad pero al momento de ejecutarlo me da el erro 3709
Option Explicit
Public CN As ADODB.Connection
Dim Cod_Prod, Nombre, Existencia
Dim Fila, Final As Integer
Function Connect(Server As String, User As String, Pass As String, Database As String) As Boolean
Set CN = New ADODB.Connection
On Error Resume Next
With CN
.ConnectionString = "Provider=SQLOLEDB.1;" & _
"Password=" & Pass & ";" & _
"Persist Security Info=True;" & _
"User ID=" & User & ";" & _
"Initial Catalog=" & Database & ";" & _
"Data Source=" & Server
.Open
End With
If CN.State = 0 Then
Connect = False
Else
Connect = True
End If
End Function
Function Query()
Dim SQL As String
Dim RS As ADODB.Recordset
Dim Field As ADODB.Field
Dim Col As Long
Set RS = New ADODB.Recordset
Final = GetUltimoR(Hoja1)
For Fila = 2 To Final
Cod_Prod = Hoja1.Cells(Fila, 2)
Nombre = Hoja1.Cells(Fila, 3)
Existencia = Hoja1.Cells(Fila, 4)
SQL = "insert into productos values('" & Cod_Prod & "','" & Nombre & "'," & Existencia & ");"
RS.Open SQL, CN el error me lo marca en esta linea
Next
RS.Open "SELECT * FROM PRODUCTOS", CN
If RS.State Then
Col = 1
For Each Field In RS.Fields
Cells(1, Col) = Field.Name
Col = Col + 1
Next Field
Cells(2, 1).CopyFromRecordset RS
Set RS = Nothing
End If