Pregunta para Dante Amor. Macro si resultado es 0 igual a vacio ""

Hola.

Intente dejar los rangos de fechas en filas mas separadas y al no encontrar condición de fecha el resultado fue 0. Complete la celda con otros datos e igual fue cero. Me gustaria que la columna suma quedara en vacio si no encuentra datos en rangos de fecha o encuentra otros que no sea fecha.

Sub filtrar()
'Por.DAM
    Set h1 = Sheets("Hoja1")
    Set h2 = Sheets("Hoja2")
    saldo = "E" 'columna de saldos en hoja1
    fs = 2 'fila inicial de saldos
    desde = "A" 'columna desde en hoja2
    fd = 3 'fila inicial de las fechas desde
    For i = fd To h2.Range(desde & Rows.Count).End(xlUp).Row
        For j = fs To h1.Range(saldo & Rows.Count).End(xlUp).Row
            If h1.Cells(j, Columns(saldo).Column + 1) >= h2.Cells(i, desde) And _
               h1.Cells(j, Columns(saldo).Column + 1) <= h2.Cells(i, Columns(desde).Column + 1) Then
                wsum = wsum + h1.Cells(j, saldo)
            End If
        Next
        h2.Cells(i, Columns(desde).Column + 2) = wsum
        wsum = 0
    Next
End Sub

1 respuesta

Respuesta
1

Te anexo la macro actualizada

Sub filtrar()
'Por.DAM
    Set h1 = Sheets("Hoja1")
    Set h2 = Sheets("Hoja2")
    saldo = "E" 'columna de saldos en hoja1
    fs = 2 'fila inicial de saldos
    desde = "A" 'columna desde en hoja2
    fd = 3 'fila inicial de las fechas desde
    For i = fd To h2.Range(desde & Rows.Count).End(xlUp).Row
        If h2.Cells(i, desde) <> "" And IsDate(h2.Cells(i, desde)) And _
            h2.Cells(i, Columns(desde).Column + 1) <> "" And _
            IsDate(h2.Cells(i, Columns(desde).Column + 1)) Then
            For j = fs To h1.Range(saldo & Rows.Count).End(xlUp).Row
                If h1.Cells(j, Columns(saldo).Column + 1) >= h2.Cells(i, desde) And _
                   h1.Cells(j, Columns(saldo).Column + 1) <= h2.Cells(i, Columns(desde).Column + 1) Then
                    wsum = wsum + h1.Cells(j, saldo)
                End If
            Next
            h2.Cells(i, Columns(desde).Column + 2) = wsum
            wsum = 0
        End If
    Next
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas