Combinacion de celdas en Excel 2013 - VBA

Tengo la siguiente Hoja de Excel:

Dándole Clic al botón Agregar me sale el siguiente formulario:

En el que puedo agregar el Modelo, Suministro, la cantidad y la fecha en la que esta programada enviar dicho suministro, asi:

Lo que necesito es que tambien salga la fecha actual, necesito que en el excel salga la fecha en la que estoy programando el envio osea hoy, y tambien la fecha en la que supuestamente enviare el suministro, entonces quiero que salga algo como esto:

Si sigo agregando mas suministros, el mismo dia, por ejemplo hoy 24/04/2017, entonces deberia quedar asi:

Y si es otro día, por ejemplo si hoy fuese 25/04/2017, entonces cuando agrego nuevo suministro, debe de salir así:

Es decir, quiero que las celdas desde modelo, hasta fecha programada de envío, se combinen y centren y que aparezca la fecha actual, luego agregar la siguiente fila con datos, como muestro en la imagen de arriba.

1 Respuesta

Respuesta
1

Envíame tu archivo para adaptar la macro en tu formulario

Mi correo [email protected]

En el asunto del correo escribe tu nombre de usuario “Brenda Guadalupe Moreno” y el título de esta pregunta.

Hola Dante, te envié el correo que me pediste.

Gracias por el interés y la ayuda :)

Te anexo la macro actualizada

Private Sub CommandButton1_Click()
'Act.Por.Dante Amor
    Dim final As Integer
    Dim fecha As Date
    Dim combinar As Boolean
    '
    If ComboBox1.Value = "" Or ComboBox1.ListIndex = -1 Then
        MsgBox "Selecciona un Modelo"
        ComboBox1.SetFocus
        Exit Sub
    End If
    '
    If TextBox4.Value = "" Or Not IsDate(TextBox4.Value) Then
        MsgBox "Captura una fecha válida"
        TextBox4.SetFocus
        Exit Sub
    End If
    '
    final = Hoja6.Range("B" & Rows.Count).End(xlUp).Row + 1
    fecha = CDate(TextBox4.Value)
    combinar = False
    Set b = Hoja6.Columns("B:E").Find(fecha, lookat:=xlWhole)
    If b Is Nothing Then
        combinar = True
    Else
        If b.Column <> 2 Then combinar = True
    End If
    If combinar Then
        With Hoja6.Range("B" & final & ":E" & final)
            .HorizontalAlignment = xlCenter
            .VerticalAlignment = xlCenter
            .Merge
        End With
        Hoja6.Cells(final, "B") = fecha
        final = final + 1
    End If
    Hoja6.Cells(final, "B") = ComboBox1.Text
    Hoja6.Cells(final, "C") = ComboBox2.Text
    Hoja6.Cells(final, "D") = TextBox3.Text
    Hoja6.Cells(final, "E") = TextBox4.Text
    '
    response = MsgBox("Registro Creado Con Éxito" & vbCr & vbCr & _
            "¿Desea añadir otro registro?", vbYesNo + vbQuestion, "NUEVO REGISTRO")
    If response = vbYes Then
        ComboBox1.Text = ""
        ComboBox2.Text = ""
        TextBox3.Text = ""
        TextBox4.Text = ""
        ComboBox1.SetFocus
    Else
        Unload Me
    End If
    'Me.Hide
End Sub

.

'S aludos. Dante Amor. Recuerda valorar la respuesta. G racias

.

Avísame cualquier duda

.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas