Combinar dos rangos de celdas

Hice algo para combinar dos rangos de celdas, pero hay algo que no funciona.
Sub combinarceldas()
Range("D20:E35500").Select
Selection.Merge
End Sub
En definitiva lo que necesito en combinar los rangos "D20:D35500 y E20:E35500" y no tener que hacerlos a mano

1 respuesta

Respuesta
1
No está demasiado claro qué es lo que intentas conseguir, pero si se trata de poner en D20 su propio valor y, unido a él, el de E20, y así con todo el rango D20:E35500, el código podría ser:
Sub prueba()
    Dim lngFila As Long
    Application.ScreenUpdating = False
    With Worksheets("Hoja1") 'Poner el nombre de la hoja donde están los datos
        For lngFila = 20 To 35500
            .Cells(lngFila, 4).Value = .Cells(lngFila, 4).Value & .Cells(lngFila, 5).Value
        Next lngFila
    End With
    Application.ScreenUpdating = True
End Sub
No se si fui claro, lo que ocurre que al ir ingresando datos en la celda DE no debo ingresar nunca nada y entonces consideré que combinándola con la E solucionaría el problema, tal es así que manualmente lo hice con bastantes celda y parece que funciona.
Lo debo hacer a partir de la fila 20 porque antes la planilla tiene datos
Si quieres evitar que se pueda seleccionar ninguna celda de la columna DE a partir de su fila 20, hay dos posibilidades. Una sin usar código, protegiendo la hoja:
1) Seleccionar todas las celdas del libro
2) Formato -> Celdas -> solapa Progeter -> desmarcar "Bloqueada"
3) Seleccionar el rango D20:D65536
4) Formato -> Celdas -> solapa Proteger -> marcar "Bloqueada"
5) Herramientas -> Proteger -> Proteger Hoja, desmarcando la opción "Seleccionar celdas bloqueadas"
El problema es que, al menos en Excel 2003, al hacer esto el comportamiento de la selección de celdas puede resultar un tanto extraño.
Y la otra usando el siguiente código que iría en el módulo de la hoja (click derecho sobre su solapa -> Ver código):
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Not Application.Intersect(Target, [D20:D65536]) Is Nothing Then
        MsgBox prompt:="No está permitido seleccionar celdas en la columna D a partir de su fila 20.", Buttons:=vbCritical + vbOKOnly
        Cells(Target.Areas(1).Cells(1, 1).Row, 1).Select
    End If
End Sub
El problema es que si no se autoriza la ejecución de código al abrir el libro, este código no servirá para nada...
Saludos.
<input style="padding: 0pt; font-size: 14px; height: 18px;" />

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas