Sumar datos entre dos rangos de fechas en visul basic
Saludos, Cuando empleo este bloque de comandos en la opción (Elseif), me devuelve solamente la suma de los valores para la primera fecha, y no toma el rango dado por textbox11 y textbox12:
Hice el procedimiento con fórmulas en Excel y si funciona, pero en Visual No. Te pongo la fórmula que uso en excel para que lo compruebes:
+If(AND((A4>=$D$1,A4<=$D$2),B4,""),
esta formula es similar a la que esta en negrillas en el procedimiento del Userform en Visual Basic, ahora dime si esta mal?
Private Sub OptionButton1_Click()
Dim r, c
TextBox11 = InputBox("Digite la primera fecha de consulta (dd/mm/yyyy)")
r = InputBox("Número de dias a partir de la primera fecha")
TextBox12 = DateAdd("d", r, TextBox11)
Dim busca
col = 2 'suma dia prestamos
dia = 0
cuenta = 0
Dim nromes As Integer, mes As Integer
Dim dato As String
For fil = 1 To UltimaFila("hoja20", 1) 'Funcion ultimafila en module1
If Sheets("hoja20").Cells(fil, 1).Value = CDate(TextBox11) And CDate(TextBox11) = TextBox12 Then
dia = dia + Val(Sheets("hoja20").Cells(fil, col).Text)
cuenta = cuenta + Selection.Rows.Count
tdiap = dia
ElseIf Sheets("hoja20").Cells(fil, 1).Value = CDate(TextBox11) And CDate(TextBox11) <> TextBox12 Then
If Sheets("hoja20").Cells(fil, 1).Value >= CDate(TextBox11) And Sheets("hoja20").Cells(fil, 1).Value <= CDate(TextBox12) Then
dia = dia + Val(Sheets("hoja20").Cells(fil, col).Text)
cuenta = cuenta + Selection.Rows.Count
tdiap = dia
Else
MsgBox "no hay datos"
End If
End If
Next fil
Hice el procedimiento con fórmulas en Excel y si funciona, pero en Visual No. Te pongo la fórmula que uso en excel para que lo compruebes:
+If(AND((A4>=$D$1,A4<=$D$2),B4,""),
esta formula es similar a la que esta en negrillas en el procedimiento del Userform en Visual Basic, ahora dime si esta mal?
Private Sub OptionButton1_Click()
Dim r, c
TextBox11 = InputBox("Digite la primera fecha de consulta (dd/mm/yyyy)")
r = InputBox("Número de dias a partir de la primera fecha")
TextBox12 = DateAdd("d", r, TextBox11)
Dim busca
col = 2 'suma dia prestamos
dia = 0
cuenta = 0
Dim nromes As Integer, mes As Integer
Dim dato As String
For fil = 1 To UltimaFila("hoja20", 1) 'Funcion ultimafila en module1
If Sheets("hoja20").Cells(fil, 1).Value = CDate(TextBox11) And CDate(TextBox11) = TextBox12 Then
dia = dia + Val(Sheets("hoja20").Cells(fil, col).Text)
cuenta = cuenta + Selection.Rows.Count
tdiap = dia
ElseIf Sheets("hoja20").Cells(fil, 1).Value = CDate(TextBox11) And CDate(TextBox11) <> TextBox12 Then
If Sheets("hoja20").Cells(fil, 1).Value >= CDate(TextBox11) And Sheets("hoja20").Cells(fil, 1).Value <= CDate(TextBox12) Then
dia = dia + Val(Sheets("hoja20").Cells(fil, col).Text)
cuenta = cuenta + Selection.Rows.Count
tdiap = dia
Else
MsgBox "no hay datos"
End If
End If
Next fil
1 Respuesta
Respuesta de Juan Carlos González Chavarría
1