Nombre ambiguo: Worksheet_Change

Hola Elsa de nuevo y perdona que vuelva a "molestarte",...Te comento, el archivo que estoy manejando en el objeto (Hoja1) tengo la siguiente macro, que lo que hace es agregar hojas nuevas:
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
    Dim SitEme As String
    Application.ScreenUpdating = False
    If Target.Count > 1 Then Exit Sub
    If Target = "" Then Exit Sub
    If Intersect(Target, Range("C7")) Is Nothing Then Exit Sub
    ' Crea una hoja nueva de informe de situación de emergencia
    SitEme = Target.Offset(0, 1).Value
    Sheets("Hoja1").Select
    Sheets("Hoja1").Copy After:=Sheets(Sheets.Count)
    Sheets(Sheets.Count).Name = SitEme
    ActiveWindow.Zoom = 100
    ActiveWindow.DisplayGridlines = False
End Sub
Luego en un módulo tengo:
Sub AjustarTextoEnCeldasCombinadas(rngRango As Range)
    'Este sub cambiará la altura de la fila que tenga las celdas combinadas para que el texto & _
     que tengan sea visible sin cambiar el ancho de las columnas.
    If rngRango.Rows.Count <> 1 Then
        MsgBox prompt:="El rango a ajustar no puede tener más de una fila.", Buttons:=vbCritical + vbOKOnly
        Exit Sub
    End If
    Dim sngAnchoTotal As Single, sngAnchoCelda As Single, sngAlto As Single
    Dim n As Integer
    For n = 1 To 9
        sngAnchoTotal = sngAnchoTotal + rngRango.Cells(1, n).ColumnWidth
    Next n
    Application.ScreenUpdating = False
     With rngRango.Cells(1, 1)
        sngAnchoCelda = .ColumnWidth
        .HorizontalAlignment = xlJustify
        .VerticalAlignment = xlCenter
        .MergeCells = False
        .ColumnWidth = sngAnchoTotal
        rngRango.Parent.Rows(rngRango.Row).AutoFit
        sngAlto = .RowHeight + 10
    End With
    With rngRango
        .Merge
        .Columns(1).EntireColumn.ColumnWidth = sngAnchoCelda
        .Columns(1).RowHeight = sngAlto
    End With
    Application.ScreenUpdating = True
End Sub
Para "llamar" el módulo anterior, he de insertar en el objeto (Hoja1) la siguiente rutina:
Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo captura
    If Target.MergeArea.Cells.Count = 1 Then Exit Sub Else Call AjustarTextoEnCeldasCombinadas(Target.MergeArea)
captura:
    Exit Sub
End Sub
Una vez he hecho los pasos anteriores me aparece mensaje de error: Nombre ambiguo Worksheet_Change.
He intentado, hasta donde sé, que no es mucho, la verdad!, y sin éxito, por este motivo te hago llegar esta consulta/duda...
Gracias, de nuevo, por tu ayuda y tiempo..!
Saludos

1 Respuesta

Respuesta
1
No podés tener 2 rutinas de = nombre. Por lo que aquí se vé, aparece 2 veces:
Private Sub Worksheet_Change(....)
Tendrás que armar 1 sola con todo lo que quieras que se haga al realizar un cambio en la hoja1.
Sdos
Elsa
http://aplicaexcel.galeon.com/manual_400.htm

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas