Boa tarde romanholi,
Você pode fazer um loop de verificação também.
Chapa 1:
For i = 1 To 36
If Frm_Apontamento.Controls("Txt_Apt_C1_" & Format(i, "00")).Value = Empty Then
MsgBox "Ainda faltam dados a serem preenchidos"
Exit For
End If
Next i
e Chapa 2:
For i = 1 To 36
If Frm_Apontamento.Controls("Txt_Apt_" & Format(i, "00")).Value = Empty Then
MsgBox "Ainda faltam dados a serem preenchidos"
Exit For
End If
Next i
Para o preenchimento... Para que não fique repetindo muito, você pode substituir isso:
Chapa 1:
Sheets(Shname).Cells(Linha, 20) = Frm_Apontamento.Txt_Apt_C1_01
Sheets(Shname).Cells(Linha, 21) = Frm_Apontamento.Txt_Apt_C1_02
Sheets(Shname).Cells(Linha, 22) = Frm_Apontamento.Txt_Apt_C1_03
Sheets(Shname).Cells(Linha, 23) = Frm_Apontamento.Txt_Apt_C1_04
Sheets(Shname).Cells(Linha, 24) = Frm_Apontamento.Txt_Apt_C1_05
Sheets(Shname).Cells(Linha, 25) = Frm_Apontamento.Txt_Apt_C1_06
Sheets(Shname).Cells(Linha, 26) = Frm_Apontamento.Txt_Apt_C1_07
Sheets(Shname).Cells(Linha, 27) = Frm_Apontamento.Txt_Apt_C1_08
Sheets(Shname).Cells(Linha, 28) = Frm_Apontamento.Txt_Apt_C1_09
Sheets(Shname).Cells(Linha, 29) = Frm_Apontamento.Txt_Apt_C1_10
Sheets(Shname).Cells(Linha, 30) = Frm_Apontamento.Txt_Apt_C1_11
Sheets(Shname).Cells(Linha, 31) = Frm_Apontamento.Txt_Apt_C1_12
Sheets(Shname).Cells(Linha, 32) = Frm_Apontamento.Txt_Apt_C1_13
Sheets(Shname).Cells(Linha, 33) = Frm_Apontamento.Txt_Apt_C1_14
Sheets(Shname).Cells(Linha, 34) = Frm_Apontamento.Txt_Apt_C1_15
Sheets(Shname).Cells(Linha, 35) = Frm_Apontamento.Txt_Apt_C1_16
Sheets(Shname).Cells(Linha, 36) = Frm_Apontamento.Txt_Apt_C1_17
Sheets(Shname).Cells(Linha, 37) = Frm_Apontamento.Txt_Apt_C1_18
Sheets(Shname).Cells(Linha, 38) = Frm_Apontamento.Txt_Apt_C1_19
Sheets(Shname).Cells(Linha, 39) = Frm_Apontamento.Txt_Apt_C1_20
Sheets(Shname).Cells(Linha, 40) = Frm_Apontamento.Txt_Apt_C1_21
Sheets(Shname).Cells(Linha, 41) = Frm_Apontamento.Txt_Apt_C1_22
Sheets(Shname).Cells(Linha, 42) = Frm_Apontamento.Txt_Apt_C1_23
Sheets(Shname).Cells(Linha, 43) = Frm_Apontamento.Txt_Apt_C1_24
Sheets(Shname).Cells(Linha, 44) = Frm_Apontamento.Txt_Apt_C1_25
Sheets(Shname).Cells(Linha, 45) = Frm_Apontamento.Txt_Apt_C1_26
Sheets(Shname).Cells(Linha, 46) = Frm_Apontamento.Txt_Apt_C1_27
Sheets(Shname).Cells(Linha, 47) = Frm_Apontamento.Txt_Apt_C1_28
Sheets(Shname).Cells(Linha, 48) = Frm_Apontamento.Txt_Apt_C1_29
Sheets(Shname).Cells(Linha, 49) = Frm_Apontamento.Txt_Apt_C1_30
Sheets(Shname).Cells(Linha, 50) = Frm_Apontamento.Txt_Apt_C1_31
Sheets(Shname).Cells(Linha, 51) = Frm_Apontamento.Txt_Apt_C1_32
Sheets(Shname).Cells(Linha, 52) = Frm_Apontamento.Txt_Apt_C1_33
Sheets(Shname).Cells(Linha, 53) = Frm_Apontamento.Txt_Apt_C1_34
Sheets(Shname).Cells(Linha, 54) = Frm_Apontamento.Txt_Apt_C1_35
Sheets(Shname).Cells(Linha, 55) = Frm_Apontamento.Txt_Apt_C1_36
Por isso:
Chapa 1:
For i = 1 To 36
Sheets(Shname).Cells(Linha, i + 19) = Frm_Apontamento.Controls("Txt_Apt_C1_" & Format(i, "00")).Value
Next i
E também isso:
Chapa 2:
Sheets(Shname).Cells(Linha, 56) = Frm_Apontamento.Txt_Apt_01
Sheets(Shname).Cells(Linha, 57) = Frm_Apontamento.Txt_Apt_02
Sheets(Shname).Cells(Linha, 58) = Frm_Apontamento.Txt_Apt_03
Sheets(Shname).Cells(Linha, 59) = Frm_Apontamento.Txt_Apt_04
Sheets(Shname).Cells(Linha, 60) = Frm_Apontamento.Txt_Apt_05
Sheets(Shname).Cells(Linha, 61) = Frm_Apontamento.Txt_Apt_06
Sheets(Shname).Cells(Linha, 62) = Frm_Apontamento.Txt_Apt_07
Sheets(Shname).Cells(Linha, 63) = Frm_Apontamento.Txt_Apt_08
Sheets(Shname).Cells(Linha, 64) = Frm_Apontamento.Txt_Apt_09
Sheets(Shname).Cells(Linha, 65) = Frm_Apontamento.Txt_Apt_10
Sheets(Shname).Cells(Linha, 66) = Frm_Apontamento.Txt_Apt_11
Sheets(Shname).Cells(Linha, 67) = Frm_Apontamento.Txt_Apt_12
Sheets(Shname).Cells(Linha, 68) = Frm_Apontamento.Txt_Apt_13
Sheets(Shname).Cells(Linha, 69) = Frm_Apontamento.Txt_Apt_14
Sheets(Shname).Cells(Linha, 70) = Frm_Apontamento.Txt_Apt_15
Sheets(Shname).Cells(Linha, 71) = Frm_Apontamento.Txt_Apt_16
Sheets(Shname).Cells(Linha, 72) = Frm_Apontamento.Txt_Apt_17
Sheets(Shname).Cells(Linha, 73) = Frm_Apontamento.Txt_Apt_18
Sheets(Shname).Cells(Linha, 74) = Frm_Apontamento.Txt_Apt_19
Sheets(Shname).Cells(Linha, 75) = Frm_Apontamento.Txt_Apt_20
Sheets(Shname).Cells(Linha, 76) = Frm_Apontamento.Txt_Apt_21
Sheets(Shname).Cells(Linha, 77) = Frm_Apontamento.Txt_Apt_22
Sheets(Shname).Cells(Linha, 78) = Frm_Apontamento.Txt_Apt_23
Sheets(Shname).Cells(Linha, 79) = Frm_Apontamento.Txt_Apt_24
Sheets(Shname).Cells(Linha, 80) = Frm_Apontamento.Txt_Apt_25
Sheets(Shname).Cells(Linha, 81) = Frm_Apontamento.Txt_Apt_26
Sheets(Shname).Cells(Linha, 82) = Frm_Apontamento.Txt_Apt_27
Sheets(Shname).Cells(Linha, 83) = Frm_Apontamento.Txt_Apt_28
Sheets(Shname).Cells(Linha, 84) = Frm_Apontamento.Txt_Apt_29
Sheets(Shname).Cells(Linha, 85) = Frm_Apontamento.Txt_Apt_30
Sheets(Shname).Cells(Linha, 86) = Frm_Apontamento.Txt_Apt_31
Sheets(Shname).Cells(Linha, 87) = Frm_Apontamento.Txt_Apt_32
Sheets(Shname).Cells(Linha, 88) = Frm_Apontamento.Txt_Apt_33
Sheets(Shname).Cells(Linha, 89) = Frm_Apontamento.Txt_Apt_34
Sheets(Shname).Cells(Linha, 90) = Frm_Apontamento.Txt_Apt_35
Sheets(Shname).Cells(Linha, 91) = Frm_Apontamento.Txt_Apt_36
Por isso:
Chapa 2:
For i = 1 To 36
Sheets(Shname).Cells(Linha, i + 55) = Frm_Apontamento.Controls("Txt_Apt_" & Format(i, "00")).Value
Next i
Obs. Declare a variável "i" como "long".
Código completo:
Option Explicit
Private Sub Cmd_Apontar_Click()
Dim ws As Worksheet
Dim Linha As Long
Dim i As Long
If Me.Cmb_Matriz = "" Then MsgBox "Selecione Matriz para o Apontamento": Exit Sub
Application.ScreenUpdating = False
' VERIFICA PREENCHIMENTO CHAPA 01
For i = 1 To 36
If Frm_Apontamento.Controls("Txt_Apt_C1_" & Format(i, "00")).Value = Empty Then
MsgBox "Ainda faltam dados a serem preenchidos"
GoTo Finaliza
End If
Next i
' VERIFICA PREENCHIMENTO CHAPA 02
For i = 1 To 36
If Frm_Apontamento.Controls("Txt_Apt_" & Format(i, "00")).Value = Empty Then
MsgBox "Ainda faltam dados a serem preenchidos"
GoTo Finaliza
End If
Next i
Set ws = ThisWorkbook.Worksheets(shname)
Linha = ws.Cells(Rows.Count, 2).End(xlUp).Row
ws.Cells(Linha, 2) = Frm_Apontamento.Txt_Data.Value
ws.Cells(Linha, 3) = Frm_Apontamento.Cmb_Turnos.Value
ws.Cells(Linha, 4) = Frm_Apontamento.Cmb_Matriz.Value
ws.Cells(Linha, 5) = Frm_Apontamento.Cmb_Padrao.Value
ws.Cells(Linha, 6) = Frm_Apontamento.Txt_Chapas.Value
' APONTAMENTO CHAPA 01
For i = 1 To 36
ws.Cells(Linha, i + 19) = Frm_Apontamento.Controls("Txt_Apt_C1_" & Format(i, "00")).Value
Next i
' APONTAMENTO CHAPA 02
For i = 1 To 36
ws.Cells(Linha, i + 55) = Frm_Apontamento.Controls("Txt_Apt_" & Format(i, "00")).Value
Next i
Call Limpar
MsgBox "Apontamento Realizado com Sucesso"
Finaliza:
Set ws = Nothing
Application.ScreenUpdating = True
End Sub
Qualquer coisa da o grito.
Abraço
Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel