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

Nombre de hojas nuevas

Ver el tema anterior Ver el tema siguiente Ir abajo

Nombre de hojas nuevas

Mensaje por P@li el Mar Mayo 27, 2008 8:36 pm

Hola,

Quiero compartir con el todos, un aporte que hice hace minutos en otro foro, es la modificación a la solución brindada por otro forista (Creedence).

La esencia de la consulta inicial es esta:
..."se crea una nueva hoja con el nombre del operador, ahora digamos que el operador haga dos o mas veces el test me dara un error porque la hoja ya existe (mismo nombre) entonces quiero que si la hoja ya existe le aumente un valor"...

Lo que hace esta macro, es buscar todos los coincidentes al valor ingresado (prescindiendo en la consulta del número que le hayamos agregado para evitar conflicto de nombres) y luego se inserta la nueva hoja, adicionando al nombre la cantidad de coincidencias más uno.

Si existen las hojas:
Pablo-000
Pablo-001
Pablo-002

La que se agregue será:
Pablo-003

Acá está el archivo.
[Tienes que estar registrado y conectado para ver este vínculo]

Saludos.

P@li
Admin

Masculino Cantidad de envíos : 238
Edad : 33
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 hojas nuevas

Mensaje por GalileoGali el Miér Mayo 28, 2008 12:25 am

P@li: ¡Excelente Aporte! Gracias a Exceluciones y gracias Credence
Bueno aca va el Codigo que adecuaste y que copié literalmente del archivo que colgaste:
En el Modulo de un formulario con un TextBox y dos CommandButton

Código:
Private Sub cmdAplicar_Click()

    Dim Nombre As String
    Dim CantidadPruebas As String
    Dim Hoja As Worksheet
    Stop
    CantidadPruebas = 0
    Nombre = Trim(VBA.StrConv(txtNombre.Value, vbProperCase)) 'Regulariza Nombre ante la posibilidad de que se hubiera
    'escrito el Nombre con mayusculas o minusculas. En eeste Caso Usa Nombre Propio.
   
    If Nombre = "" Then Exit Sub ' Si no se consigno Nombre alguno, sale de la macro
   

    For Each Hoja In Worksheets  'Recorremos la coleccion WorkSheets de las Hojas del Libro
        If Hoja.Name Like Nombre & "-###" Then  ' compara las cadenas correspondientes a los Nombres de las Hojas Existentes si contienen o no
    'el Nombre con Mas la adicion de un Guion Medio y tres Caracteres Numericos
            CantidadPruebas = CantidadPruebas + 1 'Por cada Hoja que encuentra incrementa el Contador en 1 para establecer la cantidad de Pruebas
            'realizadas por el Testeado
        End If
    Next

    Set Hoja = ActiveWorkbook.Sheets.Add(, Worksheets(Worksheets.Count)) 'Se agrega una nueva Hoja al Libro que se coloca despues de la Ultima existente
    Hoja.Name = Nombre & Format(CantidadPruebas, "-000") ' el nuevo Objeto Hoja es Nominado con el Nombre del Testeado con el agregado de Cantidad de Pruebas
    'con el Formato de "- y tres Numeros, que a la izquierda seran completados con "0" cuando corresponda, para tres cifras.
   
    Set Hoja = Nothing ' se vacia el Objeto Hoja.
    Unload Me ' se descarga el Formulario.
End Sub
Private Sub cmdCancelar_Click()
    Unload Me
End Sub

_________________
GalileoGali
M.A.P. 2010-2013
Microsoft Active Professional

GalileoGali
Admin

Masculino Cantidad de envíos : 1962
Edad : 61
Ciudad - Pais : QUIROGA, Argentina
Version de Excel : 2000-2003-2007-2010
Fecha de inscripción : 24/01/2008

http://excelgali.mejorforo.net

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.