............ Foro Excel
Si no lo has hecho aún: REGISTRATE!!!

Nombre de tabla en hoja

Ver el tema anterior Ver el tema siguiente Ir abajo

Nombre de tabla en hoja

Mensaje por Alef-Thau el Lun Feb 08, 2010 10:36 am

He estado buscando y no doy encontrado nada, a lo mejor hasta es sumamente sencillo hacer lo que quiero pero... no se prácticamente programar pero le echo ganas XDD.

Bueno a lo que importa, el hecho es que quiero crear una hoja detras de otra hoja que me sirve de plantilla y esta nueva hoja renombrarla, eso esta hecho ya incluso la coloco al final :-) es toda una proeza para mi jejeje; lo que me falta es que en esta plantilla tengo una tabla cuyo nombre es "plantilla", al crear la nueva hoja me crea la tabla y le llama "plantilla1" o "plantilla(x)" dependiendo de cuantas nuevas hojas halla creado.
Mi pregunta o más bien embrollo es ¿como puedo hacer para que me cambie el nombre de la tabla por el mismo nombre de la hoja, mas o menos se que es así:
Código:
Private Sub BFcrear_Click()
'creo una variable
Dim hoja As Worksheet
'copio la plantilla y la coloco al final del libro
Sheets("Plantilla").Copy after:=Sheets("Plantilla")
'fijo la nueva hoja como hoja de trabajo
Set hoja = ActiveSheet
'la renombro mediante un nombre que he puesto en un textbox al crear un listado de las hojas
hoja.Name = Dpublicacion

'ahora aquí es donde debería meter el que me cabiara el nombre de la tabla
Range("Plantilla7").Select
ActiveSheet.ListObjects("Plantilla7").Name = Dpublicacion

¿Habrá algún carácter comodín, por ejemplo, del estilo ? o * para añadir a Range("Plantilla*") o Range ("Plantilla?"), lo he probado y no va :-( pero quizá o seguro que algo hay. El problema surge en el cambio ese del numero de plantilla. O bien ¿podría con una variable crear algo que cogiera el nombre de la nueva tabla y así meterlo en ella para cambiarlo?, sorry si es algo muy sencillo o quizá algo que no se pueda hacer estoy empezando y aunque manejo de sobra el excel en muchas cosas en esto soy novato de todo aun así tengo ya casi todo lo que quiero hacer.

Os dejo un ejemplo de lo que estoy haciendo por si así lo veis mejor.


Gracias y perdonad las molestias si es muy obvio :-(

Saludos

Alef-Thau

Masculino Cantidad de envíos : 22
Edad : 53
Ciudad - Pais : España
Version de Excel : actualmente 2010
Fecha de inscripción : 23/05/2009

Volver arriba Ir abajo

Re: Nombre de tabla en hoja

Mensaje por sailepaty el Lun Feb 08, 2010 1:31 pm

Haber así,

Código:
................
ActiveSheet.Range(Range("Plantilla").Address).ListObject.Name = Dpublicacion
.................

Saludos

_________________
I didn't ask to be Mexican I just got lucky!!!
avatar
sailepaty
Moderador
Moderador

Masculino Cantidad de envíos : 135
Edad : 54
Ciudad - Pais : Dallas, TX
Version de Excel : 2007 y 2010
Fecha de inscripción : 04/03/2008

Volver arriba Ir abajo

Re: Nombre de tabla en hoja

Mensaje por P@li el Lun Feb 08, 2010 3:40 pm

Otra forma sería conociendo el número de index del nombre de la tabla.
En el caso que sea el único nombre de tabla dentro de la hoja, la forma que propongo sería la siguiente:

Código:

hoja.Names(1).Name = Dpublicacion

Saludos,
Pablo.

P@li
Admin

Masculino Cantidad de envíos : 243
Edad : 34
Ciudad - Pais : Buenos Aires, Argentina
Version de Excel : Microsoft Excel 2002 (10.2614.2625)
Fecha de inscripción : 03/03/2008

Volver arriba Ir abajo

Re: Nombre de tabla en hoja

Mensaje por P@li el Lun Feb 08, 2010 3:42 pm

Aprovechando el tiempo que tengo libre, fijate esta función que tenía por ahí.

Código:

Function proxHoja(ByVal sufijo As String, Optional ByVal num_inicio As Integer = 1, Optional libro As Workbook) As String
   
    Dim hoja As Worksheet
    Dim num As Integer
   
    If libro Is Nothing Then
        Set libro = ThisWorkbook
    End If
    num = num_inicio
   
    Do
        On Error Resume Next
        Set hoja = Nothing
        Set hoja = libro.Sheets(sufijo & num)
        On Error GoTo 0
        If hoja Is Nothing Then Exit Do
        num = num + 1
    Loop
    proxHoja = sufijo & num
    Set libro = Nothing
    Set hoja = Nothing

End Function

Private Sub BFcrear_Click()
    'creo una variable
    Dim hoja As Worksheet
    'copio la plantilla y la coloco al final del libro
    Sheets("Plantilla").Copy after:=Sheets("Plantilla")
    'fijo la nueva hoja como hoja de trabajo
    Set hoja = ActiveSheet
   
    'la renombro mediante un nombre devuelto por una funcion que evita duplicados
    hoja.Name = proxHoja("Plantilla")
   
    hoja.Names(1).Name = hoja.Name
   
    'ahora aquí es donde debería meter el que me cabiara el nombre de la tabla
    'Range("Plantilla7").Select
    'ActiveSheet.ListObjects("Plantilla7").Name = Dpublicacion

    Set hoja=nothing
End Sub


Saludos

P@li
Admin

Masculino Cantidad de envíos : 243
Edad : 34
Ciudad - Pais : Buenos Aires, Argentina
Version de Excel : Microsoft Excel 2002 (10.2614.2625)
Fecha de inscripción : 03/03/2008

Volver arriba Ir abajo

Re: Nombre de tabla en hoja

Mensaje por Alef-Thau el Lun Feb 08, 2010 5:14 pm

Gracias a los dos lo voy a probar y mañana os comento.
No, mañana no, ahora XDDD .
Perfecto Sailepaty, eso es lo que buscaba.
P@ly muchas gracias por tu ampliación, seguro que me sirve para algo más que quiero hacer.

Gracias por la respuesta tan rápida y eficaz ;-).

Saludos

PD: La solución que me dio Sailepaty hace justo lo que quería, mediante mi parte del código copio y pego la hoja al final de el libro y a la vez cambia los nombres tanto de la plantilla como de la tabla con lo cual cuando quiero coger datos de cada ficha ya se que dicha tabla tiene el mismo nombre que su hoja que a su vez es el mismo nombre que la revista que hay en el indice. Esto me sirve para ir cogiendo muchos datos para ese indice y así sacar estadísticas de ventas, servicios, precios etc. Cuando lo tenga terminado os cuelgo la plantilla si queréis para echarle un ojo.


Última edición por Alef-Thau el Lun Feb 08, 2010 5:44 pm, editado 2 veces (Razón : Escribir antes de tiempo jejeeje.)

Alef-Thau

Masculino Cantidad de envíos : 22
Edad : 53
Ciudad - Pais : España
Version de Excel : actualmente 2010
Fecha de inscripción : 23/05/2009

Volver arriba Ir abajo

Re: Nombre de tabla en hoja

Mensaje por Contenido patrocinado


Contenido patrocinado


Volver arriba Ir abajo

Ver el tema anterior Ver el tema siguiente Volver arriba


 
Permisos de este foro:
No puedes responder a temas en este foro.