CAMBIAR EL NOMBRE DE LA HOJA

08/10/2007 - 18:34 por poorty | Informe spam
Buenas, a ver quien puede ayudarme

Tengo un libro de excel en el que voy creando fichas para clientes
(hojas)

tengo una hoja maestra en la que introduzco los datos y mediante una
macro copio la hoja, creando una nueva y limpio la hoja maestra.

El problema esta en que mediante la macro no puedo cambiarle el nombre
a la hoja porque me da error

El nombre de la hoja esta en la celda F7 de esa misma hoja

Puede hacerse?

Gracias de antemano

Preguntas similare

Leer las respuestas

#1 auditt
08/10/2007 - 19:07 | Informe spam
¿Realmente necesitas crear una hoja por cliente?
Tener los mismos datos repartidos en hojas distintas normalmente complica el
tratamiento de la informacion.
Piensa en una sola hoja en cada fila un cliente y en las columnas los campos
que necesites.



"poorty" escribió en el mensaje
news:
Buenas, a ver quien puede ayudarme

Tengo un libro de excel en el que voy creando fichas para clientes
(hojas)

tengo una hoja maestra en la que introduzco los datos y mediante una
macro copio la hoja, creando una nueva y limpio la hoja maestra.

El problema esta en que mediante la macro no puedo cambiarle el nombre
a la hoja porque me da error

El nombre de la hoja esta en la celda F7 de esa misma hoja

Puede hacerse?

Gracias de antemano

Respuesta Responder a este mensaje
#2 Héctor Miguel
09/10/2007 - 00:27 | Informe spam
hola, jose !

Tengo un libro de excel en el que voy creando fichas para clientes (hojas)
tengo una hoja maestra en la que introduzco los datos y mediante una macro copio... creando una nueva y limpio la hoja maestra.
El problema esta en que mediante la macro no puedo cambiarle el nombre a la hoja porque me da error
El nombre de la hoja esta en la celda F7 de esa misma hoja
Puede hacerse?



si expones el codigo de la macro, seria mas segura la propuesta que pudiera hacerse -?-

o podrias intentar con algunas instrucciones +/- como las siguientes:

ActiveSheet.Copy After:=Worksheets(Worksheets.Count)
ActiveSheet.Name = Range("f7")

saludos,
hector.
Respuesta Responder a este mensaje
#3 poorty
09/10/2007 - 13:27 | Informe spam
On 9 oct, 00:27, "Héctor Miguel"
wrote:
hola, jose !

> Tengo un libro de excel en el que voy creando fichas para clientes (hojas)
> tengo una hoja maestra en la que introduzco los datos y mediante una macro copio... creando una nueva y limpio la hoja maestra.
> El problema esta en que mediante la macro no puedo cambiarle el nombre a la hoja porque me da error
> El nombre de la hoja esta en la celda F7 de esa misma hoja
> Puede hacerse?

si expones el codigo de la macro, seria mas segura la propuesta que pudiera hacerse -?-

o podrias intentar con algunas instrucciones +/- como las siguientes:

ActiveSheet.Copy After:=Worksheets(Worksheets.Count)
ActiveSheet.Name = Range("f7")

saludos,
hector.



Buenas,

No me acepta el codigo que me indicas y me da error, pero despues de
investigar he conseguido esto:


Sub CREARHOJANUEVA()
'
' CREARHOJANUEVA Macro
' Macro grabada el 09/10/2007 por Jose PORTILLO
'
Columns("A:M").Select
Range("M1").Activate
Selection.Copy
Sheets("FICHA NUEVA").Select
Sheets.Add
Columns("A:A").Select
Selection.Insert Shift:=xlToRight
ActiveWindow.Zoom = 75
Range("E7:F7").Select
Application.CutCopyMode = False
Selection.Locked = True
Selection.FormulaHidden = False
ActiveSheet.Protect DrawingObjects:=True, Contents:=True,
Scenarios:=True
ActiveSheet.Name = InputBox("INTRODUCE AQUÍ EL CÓDIGO DEL
CLIENTE")
Sheets("FICHA NUEVA").Select
Range("E7:F7").Select
Selection.ClearContents
End Sub


Pero ahora mi problema es que cuando no se ingresa nada en el inputbox
me da error y e sale el depurador y necesitaria lo siguiente

si no se pone nada = el boton aceptar no se activa

si se pone un nobre repetido o no valido = vuelva a salir el mismo
inputbox en blanco (sin mensaje de error ni nada)

Gracias por vuestra atención y vuestro tiempo

Jose
Respuesta Responder a este mensaje
#4 Héctor Miguel
09/10/2007 - 22:30 | Informe spam
hola, jose !

No me acepta el codigo que me indicas y me da error, pero despues de investigar he conseguido esto:
Pero ahora mi problema es que cuando no se ingresa nada en el inputbox me da error y e sale el depurador
y necesitaria lo siguiente
si no se pone nada = el boton aceptar no se activa
si se pone un nobre repetido o no valido = vuelva a salir el mismo inputbox en blanco (sin mensaje de error ni nada)



segun comentabas en tu consulta original... la macro *copiaba* la hoja y luego habia que cambiar el nombre -?-
por el codigo que expones... estas copiando un rango de celdas a una hoja nueva (recien insertada, que no es lo mismo)

por casualidad (mas bien, por el codigo que genero la gradabora de macros)...
-> la celda 'F7' que contiene el nombre para la hoja nueva
-> es una celda combinada [E7:F7] ???

si es el caso, podrias cambiar la instruccion sugerida que renombra la hoja +/-
de: -> ActiveSheet.Name = Range("f7")
a: -> ActiveSheet.Name = Range("e7").Cells(1)

saludos,
hector.

__ el codigo expuesto __
Sub CREARHOJANUEVA()
' CREARHOJANUEVA Macro
' Macro grabada el 09/10/2007 por Jose PORTILLO
Columns("A:M").Select
Range("M1").Activate
Selection.Copy
Sheets("FICHA NUEVA").Select
Sheets.Add
Columns("A:A").Select
Selection.Insert Shift:=xlToRight
ActiveWindow.Zoom = 75
Range("E7:F7").Select
Application.CutCopyMode = False
Selection.Locked = True
Selection.FormulaHidden = False
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
ActiveSheet.Name = InputBox("INTRODUCE AQUÍ EL CÓDIGO DEL CLIENTE")
Sheets("FICHA NUEVA").Select
Range("E7:F7").Select
Selection.ClearContents
End Sub

__ las consultas anteriores __
Tengo un libro de excel en el que voy creando fichas para clientes (hojas)
tengo una hoja maestra en la que introduzco los datos y mediante una macro copio... creando una nueva y limpio la hoja maestra.
El problema esta en que mediante la macro no puedo cambiarle el nombre a la hoja porque me da error
El nombre de la hoja esta en la celda F7 de esa misma hoja
Puede hacerse?



si expones el codigo de la macro, seria mas segura la propuesta que pudiera hacerse -?-

o podrias intentar con algunas instrucciones +/- como las siguientes:

ActiveSheet.Copy After:=Worksheets(Worksheets.Count)
ActiveSheet.Name = Range("f7")
Respuesta Responder a este mensaje
#5 poorty
18/10/2007 - 20:31 | Informe spam
On 9 oct, 22:30, "Héctor Miguel"
wrote:
hola, jose !

> No me acepta el codigo que me indicas y me da error, pero despues de investigar he conseguido esto:
> Pero ahora mi problema es que cuando no se ingresa nada en el inputbox me da error y e sale el depurador
> y necesitaria lo siguiente
> si no se pone nada = el boton aceptar no se activa
> si se pone un nobre repetido o no valido = vuelva a salir el mismo inputbox en blanco (sin mensaje de error ni nada)

segun comentabas en tu consulta original... la macro *copiaba* la hoja y luego habia que cambiar el nombre -?-
por el codigo que expones... estas copiando un rango de celdas a una hoja nueva (recien insertada, que no es lo mismo)

por casualidad (mas bien, por el codigo que genero la gradabora de macros)...
-> la celda 'F7' que contiene el nombre para la hoja nueva
-> es una celda combinada [E7:F7] ???

si es el caso, podrias cambiar la instruccion sugerida que renombra la hoja +/-
de: -> ActiveSheet.Name = Range("f7")
a: -> ActiveSheet.Name = Range("e7").Cells(1)

saludos,
hector.

__ el codigo expuesto __
Sub CREARHOJANUEVA()
' CREARHOJANUEVA Macro
' Macro grabada el 09/10/2007 por Jose PORTILLO
Columns("A:M").Select
Range("M1").Activate
Selection.Copy
Sheets("FICHA NUEVA").Select
Sheets.Add
Columns("A:A").Select
Selection.Insert Shift:=xlToRight
ActiveWindow.Zoom = 75
Range("E7:F7").Select
Application.CutCopyMode = False
Selection.Locked = True
Selection.FormulaHidden = False
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
ActiveSheet.Name = InputBox("INTRODUCE AQUÍ EL CÓDIGO DEL CLIENTE")
Sheets("FICHA NUEVA").Select
Range("E7:F7").Select
Selection.ClearContents
End Sub

__ las consultas anteriores __



>>> Tengo un libro de excel en el que voy creando fichas para clientes (hojas)
>>> tengo una hoja maestra en la que introduzco los datos y mediante una macro copio... creando una nueva y limpio la hoja maestra.
>>> El problema esta en que mediante la macro no puedo cambiarle el nombre a la hoja porque me da error
>>> El nombre de la hoja esta en la celda F7 de esa misma hoja
>>> Puede hacerse?

>> si expones el codigo de la macro, seria mas segura la propuesta que pudiera hacerse -?-

>> o podrias intentar con algunas instrucciones +/- como las siguientes:

>> ActiveSheet.Copy After:=Worksheets(Worksheets.Count)
>> ActiveSheet.Name = Range("f7")- Ocultar texto de la cita -

- Mostrar texto de la cita -



Buenas Hector

Despues de empollarme varios manuales de VB para excel he conseguido
esto:

Sub CREARFICHANUEVA()
'
' CREARFICHANUEVA Macro
' Macro grabada el 09/10/2007 por Jose PORTILLO
'

' ERROR
' TRATAMIENTO DE ERRORES

On Error GoTo TratarError


' CREA
' CREA NUEVA HOJA COPIANDO LA FICHA

Dim sTexto As String
sTexto = InputBox("INTRODUCE AQUÍ EL CÓDIGO DEL CLIENTE")
If StrPtr(sTexto) = 0 Then
MsgBox "Ud. presiono Cancelar"
Else
MsgBox sTexto
Range("E7:F7").Value = sTexto
Sheets("FICHA NUEVA").Select
Sheets("FICHA NUEVA").Copy After:=Sheets(2)
ActiveSheet.Name = sTexto
End If

' PROTEGER
' PROTEGER FICHA NUEVA

ActiveSheet.Unprotect
Range("E7:F7").Select
Selection.Locked = True
Selection.FormulaHidden = False
ActiveSheet.Shapes("Button 3").Select
Selection.Delete
ActiveSheet.Protect DrawingObjects:=True, Contents:=True,
Scenarios:=True

' BORRAR
' BORRAR EL CONTENIDO DE LA FICHA BASE

ActiveWorkbook.Save
Sheets("FICHA NUEVA").Select
Range("E7:F7").Select
Selection.ClearContents

TratarError:

Select Case Err.Number
Case 1004:
MsgBox ("EL CODIGO INTRODUCIDO NO ES VALIDO" &
Chr(13) & "O ESTA YA CREADO")
Sheets("FICHA NUEVA (2)").Select
ActiveWindow.SelectedSheets.Delete
Sheets("FICHA NUEVA").Select
Range("E7:F7").Select
Selection.ClearContents
Exit Sub
Case Else:
Exit Sub

End Select
Resume ' CREA


' Resume Error

End Sub

No esta depurado del todo ya que aun hay lineas que podria quitar y
las he mantenido como texto, pero me funciona, je je je

Gracias por todo nuevamente y un saludo

Jose
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida