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
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 de Elsa Matilde
1