Macro excel pintar

Hola amigos, me gustaría si alguien me puede ayudar en lo siguiente, necesito crear un cuadro de toma de datos en excel, con los siguientes datos de entrada:
Nº:
Hora inicio:
Hora fin:
Kilómetros:
Reserva o mantenimiento si: no:
De forma que en una hoja de excel escalada de 0 a 24 horas cuando yo le ponga la hora de inicio en una fila me sombre desde las horas de inicio a fin, los kilómetros me los ponga debajo de la fila sombreada en el centro de la misma con un color y en la fila encima de lo sombreado me ponga la cifra que le pongo en el numero, si pongo en reserva si me ponga la fila de un color desde las hora indicadas y si pongo no me la ponga de otro color.
Gracias por la ayuda puntuare bien.

1 Respuesta

Respuesta
1
Ya te he contextado particularmente, pero pego parte de la macro por si le sirve a alguien más:
Private Sub PINTAR_Click()
   Dim hc As Byte
   Dim hf As Byte
   Dim mc As Byte
   Dim mf As Byte
   Dim ns As String
   Dim pc As Integer
   Dim hcc As Integer
   Dim hff As Integer
   Dim color As Integer
   Dim fila As Integer
   Dim sal As String
   Dim des As String
   Dim km As Integer
   If TextBox1 = "" Then GoTo faltandatos    'FILA
   If TextBox2 = "" Then GoTo faltandatos    'SERVICIO
   If TextBox3 = "" Then GoTo faltandatos    'HORA SALIDA
   If TextBox4 = "" Then GoTo faltandatos    'MINUTO SALIDA
   If TextBox5 = "" Then GoTo faltandatos    'HORA LLEGADA
   If TextBox6 = "" Then GoTo faltandatos    ' MINUTO LLEGADA
   If TextBox7 = "" Then GoTo faltandatos    ' KILOMETROS
   If TextBox8 = "" Then GoTo faltandatos    'SALIDA
   If TextBox9 = "" Then GoTo faltandatos    'DESTINO
   If COLOR1 = "" Then GoTo faltandatos      'COLOR
   With Range("a1:a500")
    Set c = .Find(TextBox1, LookIn:=xlValues)
    If Not c Is Nothing Then
        fila = c.Row
    Else
        GoTo faltandatos
    End If
End With
   sal = TextBox8
   des = TextBox9
   ns = TextBox2
   hc = TextBox3 * 8 + 2
   hf = TextBox5 * 8 + 2
   mc = Int(TextBox4 / 7.5)
   mf = Int(TextBox6 / 7.5)
   hcc = hc + mc
   hff = hf + mf
   km = TextBox7
   Select Case COLOR1.ListIndex
      Case 0
         color = 1
      Case 1
         color = 3
      Case 2
         color = 4
      Case 3
         color = 5
      Case 4
         color = 6
      Case 5
         color = 7
      Case 6
         color = 8
      Case 7
         color = 9
      Case Else
         color = 0
   End Select
   Range(Cells(fila + 2, hcc), Cells(fila + 2, hff)).Select
   With Selection.Interior
       .ColorIndex = color
       .Pattern = xlSolid
   End With
   Cells(fila + 3, hcc) = TextBox4
   Cells(fila + 3, hff) = TextBox6
   Cells(fila + 1, hcc) = sal
   Cells(fila + 1, hff) = des
   Cells(fila, hcc) = TextBox2
   Cells(fila + 4, hcc) = km
   Cells(fila, hcc).Select
   DATOS.Hide
   Exit Sub
faltandatos:
   MsgBox "POR FAVOR HAY QUE RELLENAR TODOS LOS DATOS, o LA FILA ESTA MAL"
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas