A ver, para no estar adivinando o caminando a ciegas por el problema, vamos a ir a lo seguro:
1º: Indicas en la columna B: "Aquí iría la fórmula". Bien, pues te sugiero que introduzcas a mano, en B3:B10 cuáles son los resultados que esperas en cada celda, y expliques cómo y/o por qué se llega a ellos.
2º: Aclara un poco esos significados de 'Factor común 1' y 'Variable por pesos o centavos', para entender cómo juegan en las diferentes resoluciones.
3º: También sería interesante saber cómo interpretar eso de 'ojito al tema porque estos importes entre archivos pueden variar entre el 10% mayor o menor al importe pago'. Para verlo claro, introduce algún ejemplo que fuerce esa diferencia y explica cómo hay que contemplarlo y en qué interfiere para la/s fórmula/s de la columna B.
4º: Y por último, elimina (suprime) todos los datos innecesarios para componer el resultado que buscamos: por ejemplo, ese 'Íd. crédito' de la columna A, ¿aporta algo? ¿No? Pues bórralo. Ídem de lo mismo para 'Nombre' (si no se necesita, bórralo también). Veo que las columnas L y N tienen los mismos contenidos. ¿Por qué no eliminamos una de ellas?
Todo lo que sea limpiar la pizarra de garabatos innecesarios, será bienvenido y agradecido.
Saludos,
Por
Victor7, · 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