Corrección o aprobación de líneas de código
Elsa, mis respectos y saludos.
Quiero preguntarte si de la macro que gentilmente me facilitaste, estas líneas están bien formadas.
Pregunto porque estas mismas líneas, las hiciste con un fin de usar la columna F en un rango de 14 a 23, en este caso las F14:F23.
Adapte la misma macro en otr oproyecto igual o similar pero este tiene fórmulas en las C, DE, y E además de la F.
Para abarcar las DE, C, e y F hice lo que estas viendo en las líneas inferiores.
Quiero tu aprobación si así es correcto o algo seria mejor aun. Te diré que como hice me funciona bien pero, omo dije y repito quiero tu aprobación o mejoramiento en las líneas para saber si como yo tengo, solo capta de la línea 22 hacia la 23 insertada y no usa ninguna otra.
Gracias
Tu macro que uso perfectamente bien
Private Sub btnElimiLinea_Click()
'x Elsamatilde
'se elimina el registro segun la seleccion en col B desde B14 a B23
If Intersect(ActiveCell, Range("B14:B23")) Is Nothing Then
MsgBox "Para eliminar un registro debes seleccionarlo en celda de la col B.", , "ERROR"
Exit Sub
End If
If Selection.Count > 1 Then ' Si seleccionamas que 1 producto
MsgBox "Solo puedes eliminar 1 registro por vez.", , "ERROR"
Exit Sub
End If
Application.ScreenUpdating = False
'selecciona el rango col B:F
Range("B" & ActiveCell.Row & ":F" & ActiveCell.Row).Select
Selection.Delete Shift:=xlUp
'se inserta 1 fila al final
Range("B23:F23").Select
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
'se copia el formato de bordes
Range("B22:E22").Select
Selection.Copy
Range("B23").Select
Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
'se completa en la col F con la formula
Range("F22:F22").Select 'Selecciona desde C a F
Selection.AutoFill Destination:=Range("F22:F23"), Type:=xlFillDefault 'copia formulas a F
'se posiciona en alguna celda
Range("B14").Select
End Sub
Mis lineas en proyecto que contien formulas en dichas celdas de columnas
'se completa en las col C,D,E y F con la formula
Range("C22:F22").Select 'Selecciona desde C a F
Selection.AutoFill Destination:=Range("C22:F23"), Type:=xlFillDefault 'copia formulas desde C a F
Respuestas sugeridas:
Esta bien así
Mejor asi (composicion) --->>