digitar nombre en una celda y que se asigne ese nombre a una nueva hoja del libro

17/03/2005 - 23:11 por Luis Fernando Vargas Díaz | Informe spam
Buenas Tardes:

Mi consulta es la siguiente:

Tengo una hoja llamada Control y dentro de la misma, tengo la celda (C2) en
la cual digito el nombre de un proceso (ejemplo, ADJUDICACIONES).
Inmediatamente en la celda D2 tengo un botón que al pulsarlo crea una
réplica de otra hoja que se llama modulo con el siguiente código:

Sub agregarhoja()

Sheets("modulo").Select
Sheets("modulo").Copy Before:=Sheets(3)
Range("A1").Select
End Sub

Mi pregunta es como hago para que se agregue la hoja replicada pero NO con
el nombre modulo (2), sino mas bien con el nombre que digité en la celda C2
(ADJUDICACIONES).

Para finalizar, tengo otro botón en la celda inmediata (E2) que al pulsarlo,
me debería llevar directamente a la hoja replicada que se llama
ADJUDICACIONES.

No sé si me expliqué bien pero agradezco cualquier ayuda que me puedan
brindar, saludos
 

Leer las respuestas

#1 KL
18/03/2005 - 00:06 | Informe spam
Hola Luis Fernando,

Prueba el siguiente codigo.

Saludos,
KL

'Inicio Codigo-
Sub AgregarHojaNueva()
Dim carInvalidos As Variant
Dim Hoja As Worksheet
Dim i As Integer
Dim NombreUnico As Boolean
Dim NombreValido As Boolean
Dim rng As Range

'Establecemos la lista de caracteres invalidos.
carInvalidos = Array(":", "\", "/", "?", "*", "[", "]")

'Congelamos la pantalla.
Application.ScreenUpdating = False

'Establecemos el rango q contiene el nombre de la hoja.
Set rng = Worksheets("Control").Range("A2")

'comprobamos si ya existen hojas con los
'nombres q queremos usar.
NombreUnico = True
For Each Hoja In Worksheets
If Hoja.Name = rng.Value Then
MsgBox "Ya existe una hoja con el nombre: " _
& rng.Value
NombreUnico = False
Exit For
End If
Next Hoja

'comprobamos si el nombre contiene
'caracteres invalidos.
NombreValido = True
For i = 0 To UBound(carInvalidos)
If InStr(rng.Value, carInvalidos(i)) Then
MsgBox "El nombre " & rng.Value _
& " contiene caracteres invalidos (" _
& carInvalidos(i) & ")."
NombreValido = False
Exit For
End If
Next i

'Creamos las hojas y asignamos los nombres validos.
If Not IsEmpty(rng) And NombreUnico And NombreValido Then
Worksheets("modulo").Copy After:=Worksheets(Worksheets.Count)
Worksheets(Worksheets.Count).Name = rng.Value
End If

'Volvemos a la hoja principal.
Range("A1").Activate
End Sub
'Fin Codigo-


"Luis Fernando Vargas Díaz" wrote in message
news:
Buenas Tardes:

Mi consulta es la siguiente:

Tengo una hoja llamada Control y dentro de la misma, tengo la celda (C2)
en
la cual digito el nombre de un proceso (ejemplo, ADJUDICACIONES).
Inmediatamente en la celda D2 tengo un botón que al pulsarlo crea una
réplica de otra hoja que se llama modulo con el siguiente código:

Sub agregarhoja()

Sheets("modulo").Select
Sheets("modulo").Copy Before:=Sheets(3)
Range("A1").Select
End Sub

Mi pregunta es como hago para que se agregue la hoja replicada pero NO con
el nombre modulo (2), sino mas bien con el nombre que digité en la celda
C2
(ADJUDICACIONES).

Para finalizar, tengo otro botón en la celda inmediata (E2) que al
pulsarlo,
me debería llevar directamente a la hoja replicada que se llama
ADJUDICACIONES.

No sé si me expliqué bien pero agradezco cualquier ayuda que me puedan
brindar, saludos



Preguntas similares