Pasar datos de unas celdas especificas a otra hoja en unas celdas especificas, dependiendo de una condición

Tengo en una hoja llamada octubre(mes), datos como

fecha | cliente | dinero que debe un cliente | pagos | falta por pagar | estado |

Cuando un cliente todavía debe, en el estado aparecerá PENDIENTE y cuando termine de pagar aparecerá CANCELADO.

Lo que necesito es que cuando acabe el mes, se pasen a NOVIEMBRE(siguiente hoja) los clientes que todavía quedaron debiendo, osea los que en estado aparecen como pendientes.

Que me pase a la siguiente hoja los mismos datos así :

¿Cómo sera más fácil?

Fecha(igual a la anterior) | cliente(igual al anterior) | dinero que debe un cliente (es igual a lo que falta por pagar del mes anterior) | pagos | falta por pagar (dinero que debe-pagos) | estado |

ó

fecha(igual al anterior) | cliente(igual al anterior) | dinero quede(el mismo anterior) | pagos(debe de estar vacía porque hará nuevos pagos) | falta por pagar(formula seria= dinero que debe - pagado mes pasado-pagos nuevos de este mes ) | estado | lo que pago en el mes pasado (seria igual a la celda pagos(del mes de octubre))

Espero ayuda con esto por pavor les agradezco mucho

2 Respuestas

Respuesta
1

Ya le envíe el correo, espero me haya hecho entender, es usted muy amable mil gracias por su ayudaYa le envíe el correo, espero me haya hecho entender, es usted muy amable mil gracias por su ayuda

Respuesta
1

Envíame tu archivo para crear una macro.

En el archivo me envías tu estado actual de octubre y cómo quieres el resultado en noviembre.

Si también quieres que se le haga algo a la hoja de octubre, me envías otra hoja con el resultado.

En resumen me envías 3 hojas:

1. Hoja de octubre actual

2. Hoja con el resultado de noviembre

3. Hoja octubre después de la macro.

Esta es la macro

Dim meses
Private Sub ComboBox1_Change()
'Por.Dante Amor
    For i = LBound(meses) To UBound(meses)
        If meses(i) = ComboBox1 Then
            messig = Month(DateSerial(Year(Date), i + 1, 1))
            TextBox1 = meses(messig)
            Exit For
        End If
    Next
End Sub
Private Sub ComboBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
'Por Dante Amor
    KeyAscii = 0
End Sub
Private Sub CommandButton1_Click()
'Por.Dante Amor
    Set h1 = Sheets(ComboBox1.Value)
    Set h2 = Sheets(TextBox1.Value)
    Set b = h1.Cells.Find("ESTADO")
    If Not b Is Nothing Then
        col = b.Column
        j = 7
        For i = 7 To h1.Range("A" & Rows.Count).End(xlUp).Row
            If h1.Cells(i, col) = "PENDIENTE" Then
                Set c = h2.Cells.Find("ESTADO")
                If Not c Is Nothing Then
                    col2 = c.Column
                    h2.Cells(j, "A") = h1.Cells(i, "A")
                    h2.Cells(j, "B") = h1.Cells(i, "B")
                    h2.Cells(j, "C") = h1.Cells(i, "C")
                    h2.Cells(j, col2 + 1) = h1.Cells(i, col - 2)
                    j = j + 1
                End If
            End If
        Next
    Else
        Exit Sub
    End If
    MsgBox "Cambio realizado", vbInformation, "Fecha de cambio: " & Date
    Unload Me
End Sub
Private Sub UserForm_Activate()
'Por Dante Amor
    meses = Array("", "ENERO", "FEBRERO", "MARZO", "ABRIL", "MAYO", _
                      "JUNIO", "JULIO", "AGOSTO", "SEPTIEMBRE", _
                      "OCTUBRE", "NOVIEMBRE", "DICIEMBRE")
    mes = Month(Date)
    For Each h In Sheets
        Select Case h.Name
        Case "CambioMes", "muestra"
        Case Else
            ComboBox1.AddItem h.Name
        End Select
    Next
    ComboBox1 = meses(mes)
End Sub

Te envié el archivo con el formulario.

Saludos. Dante Amor

No olvides valorar la respuesta.

Muchísimas ¡Gracias! Por la ayuda :D me sirvió bastante

¿La valoro al darle a las repuestas excelente o como la valoro?

De verdad que vergüenza con usted.

Disculpe se me olvido agregar el numero de faltura
Creí que no alteraría la macro pero ya no me funciona.
Y al probarlo también descubrí que si
el total pagado del mes pasado era = al total pagado(mes anterior)
Lo que faltaría por pagar no daba correcto,
Así que hice una nueva casilla
llamada (total pagado +total pagado mes pasado)
Ahora sera así
formula[TOTAL PAGADO MES PASADO = (TOTAL PAGADO+TOTAL PAGADO MES PASADO)]
Y el total pagado solo sera un control del
cliente en el mes.

Volví a mandar el correo le agradezco mucho su colaboración.
¿Quiero hacer una pregunta si yo muevo los meses de punto de las hojas afecta la macro?

Así como valoraste está bien.

Con gusto te sigo apoyando, crea una nueva pregunta con las nuevas características que necesitas, si lo deseas puedes escribir al final de tu título de la pregunta, que va dirigida a Dante Amor.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas