Bueno estoy empezando en el mundo oscuro de las macros y tengo un gran problema, es decir mis códigos VBA están OK porque pude verificarlo apretando F5 desde mi Módulo en el VBA. Sin embargo cuando los ejecuto en el excel pues no se ejecuta de acuerdo a mis códigos VBA. Muchas gracias por su tiempo
¿Yo me pregunto si quizás no haya añadido correctamente mi módulo en la misma hoja de excel?
Aquí les va mi código.
Sub Registro()
Dim fila As Integer
Rem Obtengo la cantidad de celdas que contienen datos.
fila = (Worksheets("Registro").Range("A4:F4").Count - Range("A4:F4").SpecialCells(xlCellTypeBlanks).Count)
Rem Si no ay ningún dato en el Range("A4:F4") de la hoja "Registro" entonces copiar los datos.
If fila = 0 Then
Rem Copiar las celdas requeridas a la base de datos de la hoja "Registro"
Worksheets("Formato"). Range("E5"). Copy Worksheets("Registro"). Range("A4")
Worksheets("Formato"). Range("S5"). Copy Worksheets("Registro"). Range("B4")
Worksheets("Formato"). Range("E6"). Copy Worksheets("Registro"). Range("C4")
Worksheets("Formato"). Range("E8"). Copy Worksheets("Registro"). Range("D4")
Worksheets("Formato"). Range("E7"). Copy Worksheets("Registro"). Range("E4")
End If
Rem Si ay datos en el Range("A4:F4") de la hoja "Registro" insertar una fila y por último copiar los datos.
If fila > 0 Then
Rem Copiar las celdas requeridas a la base de datos de la hoja "Registro"
Worksheets("Registro").Range("A4").EntireRow.Insert
Worksheets("Formato"). Range("E5"). Copy Worksheets("Registro"). Range("A4")
Worksheets("Formato"). Range("S5"). Copy Worksheets("Registro"). Range("B4")
Worksheets("Formato"). Range("E6"). Copy Worksheets("Registro"). Range("C4")
Worksheets("Formato"). Range("E8"). Copy Worksheets("Registro"). Range("D4")
Worksheets("Formato"). Range("E7"). Copy Worksheets("Registro"). Range("E4")
End If
End Sub
El código VBA es "tonto", es decir, o funciona, o no funicona. Pero no se te ejecuta en el editor bien y desde la hoja mal. Siendo así, tendrás que mirar que estás haciendo mal. ¿Como lo llamas desde Excel? ¿Donde te da error? Pon un punto de interrupcion al inicio del sub, llámalo desde Excel y sigue paso a paso la ejecucion para ver cual es el problema.
Solo con el código que pones, no hay forma de saber donde está el problema. En todo caso, sube el fichero.
IMF_RET
Visitame en https://InformaticaMuyFacil.com