Nadie ha respondido pero he estado investigando y voy a dejar el código que le he puesto a los botones y que me funciona correcto .... seguro que algún día le sirve a alguien.... :
Boton " Abrir Incidencia "
Private Sub CommandButton1_Click()
'Seleccionamos la columna A
Range("A5").Select
'Buscamos la primera celda de la columna en blanco
Do While Not IsEmpty(ActiveCell)
'Nos situamos en ella
ActiveCell.Offset(1, 0).Select
'Esto repite la búsqueda hasta que encuentra la celda vacía
Loop
'Ponemos la fecha en la celda activa
ActiveCell = Now
'Definimos variable x para averiguar la fila activa
x = ActiveCell.Row
'Nos posicionamos en el primer campo a rellenar
Range("B" & x).Select
End Sub
FIN Boton "Abrir Incidencia"
Botón "Cerrar Incidencia"
Private Sub CommandButton2_Click()
'Definimos variable x para averiguar la fila activa
x = ActiveCell.Row
'Nos colocamos en la columna E y comprobamos su valor
Range("E" & x).Select
If ActiveCell.Value = "CERRADO" Then
MsgBox ("La incidencia ya ha sido cerrada anteriormente")
End If
If ActiveCell.Value <> "CERRADO" Then
Range("B" & x).Select
If ActiveCell.Value = "" Then
MsgBox ("Antes de cerrar la incidencia, debe rellenar el campo 'Lugar de incidencia'")
y = ActiveCell.Column
End If
'Utilizo variable Y para que, en caso de error, coja un valor y así detener el código.
If y = "" Then
Range("C" & x).Select
If ActiveCell.Value = "" Then
MsgBox ("Antes de cerrar la incidencia, debe rellenar el campo 'Persona de contacto'")
y = ActiveCell.Column
End If
End If
If y = "" Then
Range("D" & x).Select
If ActiveCell.Value = "" Then
MsgBox ("Debe poner una breve descripción de la incidencia antes de cerrarla")
y = ActiveCell.Column
End If
End If
If y = "" Then
Range("E" & x).Select
ActiveCell = "CERRADO"
Range("F" & x).Select
ActiveCell = Now
Observa = InputBox("Si desea poner alguna observación sobre la incidencia, hágalo ahora")
Range("G" & x).Select
ActiveCell.Value = Observa
MsgBox ("La incidencia se ha cerrado correctamente")
End If
End If
End Sub
El último botón, antes de cerrar la incidencia, comprueba si están rellenados los valores correspondientes y se para en caso de que se detecte algún error en la comprobación mostrándonos un mensaje en pantalla y posicionando el cursor en la celda errónea.
Para ser mis primera Macros, estoy hasta orgulloso y todo xD.
Última edición por PeSkKoLL; 19 de enero,2010 a las 11:56.
|