Copiar valor de dolar de una hoja a otra varias celdas

Esto es lo que necesito hacer, en una hoja alimento valor factura iva etc, en una columna el valor del dolar y en otra columna identifico si es MXN o USD, del día anterior, digamos que facturas del día 3 tome el valor del día 2, en caso del sábado y domingo tome el valor del viernes.

Tengo el siguiente código, lo que necesito que me apoyen es en lo siguiente, no me queda cuando es sábado y domingo, lo del lunes debe tener valor viernes, e inentado poniendo esos días en 0 o no ponerlos. Anexo código que he elaborado.

Espero me puedan apoyar.

Dim fin, fi As Integer
    fin = Hoja1.Range("a" & Rows.Count).End(xlUp).Row
    fi = Hoja2.Range("a" & Rows.Count).End(xlUp).Row
        For i = 1 To fin
            For j = 2 To fi
                If Hoja1.Cells(i, 1) = Hoja2.Cells(j, 1) Then
                    If Hoja1.Cells(i, 3) = "USD" Then
                        If Hoja1.Cells(i, 2) = 0 Or Hoja1.Cells(i, 2) = Empty Then
                        Hoja1.Cells(i, 2) = Hoja2.Cells(j - 2, 2)
                        End If
                    End If
                End If                
            Next j
        Next i
Respuesta
1

Esta es mi propia solución de mi duda. Espero le sirva a alguien.

Saludos

Dim fin, fi As Integer
Dim dia, dia2 As Date
Dim fefac, feusd As Integer
    fin = Hoja1.Range("a" & Rows.Count).End(xlUp).Row
    fi = Hoja1.Range("f" & Rows.Count).End(xlUp).Row
        For i = 1 To fin
            For j = 2 To fi
                If Hoja1.Cells(i, 1) = Hoja1.Cells(j, 6) Then
                    dia = Hoja1.Cells(j, 1): fefac = Weekday(dia) 'da valor a var del dia fac
                    dia2 = Hoja1.Cells(j, 6): feusd = Weekday(dia2) 'da valor a var del dia usd
                        If Hoja1.Cells(i, 3) = "USD" Then ' veo si la monenda es usd
                            If feusd = 3 Then ' martes
                                x = feusd
                                Hoja1.Cells(i, 2) = Hoja1.Cells(j + 1, 7)
                            ElseIf feusd = 4 Then ' miercoles
                                x = feusd
                                Hoja1.Cells(i, 2) = Hoja1.Cells(j + 1, 7)
                            ElseIf feusd = 5 Then ' jueves
                                x = feusd
                                Hoja1.Cells(i, 2) = Hoja1.Cells(j + 1, 7)
                            ElseIf feusd = 6 Then ' viernes
                                x = feusd
                                Hoja1.Cells(i, 2) = Hoja1.Cells(j + 1, 7)
                            ElseIf feusd = 7 Then ' sabado
                                x = feusd
                                Hoja1.Cells(i, 2) = Hoja1.Cells(j + 1, 7)
                            ElseIf feusd = 2 Then ' lunes
                                x = feusd
                                Hoja1.Cells(i, 2) = Hoja1.Cells(j + 3, 7)
                            End If
                    End If
                End If
             Next j
        Next i

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas