H o l a:
Te anexo un ejemplo de cómo tienes que dividir tu macro:
Tienes esto:
Private Sub FinMontaje_Click() ' RUTINA PARA ALMACENAR LAS VARIABLES DE UN MONTAJE EN UN HISTORICO!!!!!!!
Dim Respuesta As Integer
Dim Respuesta1 As Integer
Respuesta = MsgBox("Desea finalizar el Montaje en Curso?", vbQuestion + vbYesNo, "Atención!")
If Respuesta = 6 Then
On Error Resume Next
If NumObra = 1 Then 'OK!!
Application.ScreenUpdating = False
Sheets("Historico Montaje").Activate
Hoja19.Cells(4, 75) = CDate(TextBox36)
Hoja19.Cells(4, 76) = TextBox56.Text
'se trata de un registro nuevo, se busca la última fila
Set buscorec = Sheets("Historico Montaje2").Range("C:C").Find((CmbNomCorto), LookIn:=xlValues, lookat:=xlWhole)
filx = buscorec.Row
Set buscorec1 = Sheets("Historico Montaje").Range("D:D").Find((CmbNomCorto), LookIn:=xlValues, lookat:=xlWhole)
FILIN = buscorec1.Row
ultobra = Sheets("Historico").Range("A" & Rows.Count).End(xlUp).Row + 1
'paso cada campo de datos TEORICOS
paso_cada_campo_de_datos_TEORICOS ultobra, filx
'continua la macro
La idea es crear una nueva macro llamada paso_cada_campo_de_datos_TEORICOS
Esa nueva macro quedaría en un nuevo módulo, le pasarías las variables ultobra y filx:
Sub paso_cada_campo_de_datos_TEORICOS(ultobra, filx)
'paso cada campo de datos TEORICOS
Sheets("Historico").Range("A" & ultobra) = Sheets("Historico Montaje2").Range("A" & filx)
Sheets("Historico").Range("B" & ultobra) = Sheets("Historico Montaje2").Range("B" & filx)
Sheets("Historico").Range("C" & ultobra) = Sheets("Historico Montaje2").Range("C" & filx)
Sheets("Historico").Range("D" & ultobra) = Sheets("Historico Montaje2").Range("D" & filx)
Sheets("Historico").Range("E" & ultobra) = Sheets("Historico Montaje2").Range("E" & filx)
Sheets("Historico").Range("F" & ultobra) = Sheets("Historico Montaje2").Range("F" & filx)
Sheets("Historico").Range("G" & ultobra) = Sheets("Historico Montaje2").Range("G" & filx)
Sheets("Historico").Range("H" & ultobra) = Sheets("Historico Montaje2").Range("H" & filx)
Sheets("Historico").Range("I" & ultobra) = Sheets("Historico Montaje2").Range("I" & filx)
Sheets("Historico").Range("J" & ultobra) = Sheets("Historico Montaje2").Range("J" & filx)
Sheets("Historico").Range("K" & ultobra) = Sheets("Historico Montaje2").Range("K" & filx)
Sheets("Historico").Range("L" & ultobra) = Sheets("Historico Montaje2").Range("L" & filx)
Sheets("Historico").Range("M" & ultobra) = Sheets("Historico Montaje2").Range("M" & filx)
Sheets("Historico").Range("N" & ultobra) = Sheets("Historico Montaje2").Range("N" & filx)
Sheets("Historico").Range("O" & ultobra) = Sheets("Historico Montaje2").Range("O" & filx)
Sheets("Historico").Range("P" & ultobra) = Sheets("Historico Montaje2").Range("P" & filx)
Sheets("Historico").Range("Q" & ultobra) = Sheets("Historico Montaje2").Range("Q" & filx)
Sheets("Historico").Range("R" & ultobra) = Sheets("Historico Montaje2").Range("R" & filx)
Sheets("Historico").Range("S" & ultobra) = Sheets("Historico Montaje2").Range("S" & filx)
Sheets("Historico").Range("T" & ultobra) = Sheets("Historico Montaje2").Range("T" & filx)
Sheets("Historico").Range("U" & ultobra) = Sheets("Historico Montaje2").Range("U" & filx)
Sheets("Historico").Range("V" & ultobra) = Sheets("Historico Montaje2").Range("V" & filx)
Sheets("Historico").Range("W" & ultobra) = Sheets("Historico Montaje2").Range("W" & filx)
Sheets("Historico").Range("X" & ultobra) = Sheets("Historico Montaje2").Range("X" & filx)
Sheets("Historico").Range("Y" & ultobra) = Sheets("Historico Montaje2").Range("Y" & filx)
Sheets("Historico").Range("Z" & ultobra) = Sheets("Historico Montaje2").Range("Z" & filx)
Sheets("Historico").Range("AA" & ultobra) = Sheets("Historico Montaje2").Range("AA" & filx)
Sheets("Historico").Range("AB" & ultobra) = Sheets("Historico Montaje2").Range("AB" & filx)
Sheets("Historico").Range("AC" & ultobra) = Sheets("Historico Montaje2").Range("AC" & filx)
Sheets("Historico").Range("AD" & ultobra) = Sheets("Historico Montaje2").Range("AD" & filx)
Sheets("Historico").Range("AE" & ultobra) = Sheets("Historico Montaje2").Range("AE" & filx)
Sheets("Historico").Range("AF" & ultobra) = Sheets("Historico Montaje2").Range("AF" & filx)
Sheets("Historico").Range("AG" & ultobra) = Sheets("Historico Montaje2").Range("AG" & filx)
Sheets("Historico").Range("AH" & ultobra) = Sheets("Historico Montaje2").Range("AH" & filx)
End Sub
Este procedimiento lo tienes que repetir con otras secciones de tu código.
S a l u d o s