Hacer que las hojas de un libro se autonumeren

Estoy realizando una base de datos de clientes, he conseguido realizar una macro , con la que cada vez que pulso un boton que he colocado en una hoja principal, se me añada otra hoja al libro , con un formulario en blanco precargado.
Ahora me faltaría hacer que esa hoja nueva, se autonumerase(por defecto vienen con el "hoja1" )con un codigo que yo les doy a cada cliente, por ejemplo, le doy al boton y la hoja se me abre con el nombre en la pestañita cl001.2011, la siguiente cl002.2011, etc.
¿es posible?

1 respuesta

Respuesta
1
Si es posible. Has de poner después de crear la hoja, antes o después de poner el formulario precargado, no importa esto.
Sheets(Sheets. Count).Select 'Esto se va a la hoja creada
'Con esto se te pone en formato de 2 ceros como tu ejemplo.
if(Sheets.Count<10) then
             Sheets(Sheets.Count).Name = "cl00"+Sheets.Count+".2011"
else
    if(Sheets.Count>10 and Sheets.Count<100)
              Sheets(Sheets.Count).Name = "cl0"+Sheets.Count+".2011"
    else
            Sheets(Sheets.Count).Name = "cl"+Sheets.Count+".2011"
    end if
end if
lo he probado pero creo que no he anexado el programa correctamente, me da error de compilacion. He cambiado el formato de ejemplo por lo que voy a poner realmente. (la verdad es que suelo grabar las macros)
Sub NUEVAINCIDENCIATERM()
'
' NUEVAINCIDENCIATERM Macro
'
'
    Sheets("nueva incidencia").Select
    Sheets("nueva incidencia").Copy Before:=Sheets(Sheets.Count).Select 'Esto se va a la hoja creada
'Con esto se te pone en formato de 2 ceros como tu ejemplo.
If (Sheets.Count < 10) Then
             Sheets(Sheets.Count).Name = "IMT00" + Sheets.Count + ".2011"
Else
    If (Sheets.Count > 10 And Sheets.Count < 100) Then
              Sheets(Sheets.Count).Name = "IMT0" + Sheets.Count + ".2011"
    Else
            Sheets(Sheets.Count).Name = "IMT" + Sheets.Count + ".2011"
    End If
End If
End Sub
-----------------------------------------------------------------------------------------------------------------
Sub NUEVAINCFOTVLT()
'
' NUEVAINCFOTVLT Macro
'
'
    Sheets("NUEVA INC FOTOV").Select
    Sheets("NUEVA INC FOTOV").Copy Before:=Sheets(Sheets.Count).Select 'Esto se va a la hoja creada
'Con esto se te pone en formato de 2 ceros como tu ejemplo.
If (Sheets.Count < 10) Then
             Sheets(Sheets.Count).Name = "IMF00" + Sheets.Count + ".2011"
Else
    If (Sheets.Count > 10 And Sheets.Count < 100) Then
              Sheets(Sheets.Count).Name = "IMFl0" + Sheets.Count + ".2011"
    Else
            Sheets(Sheets.Count).Name = "IMF" + Sheets.Count + ".2011"
    End If
End If
End Sub
Sub NUEVAINCIDENCIATERM()'' NUEVAINCIDENCIATERM Macro'
'    Sheets("nueva incidencia").Select    Sheets("nueva incidencia").Copy Before:=Sheets(Sheets.Count).Select 'Esto se va a la hoja creada'Con esto se te pone en formato de 2 ceros como tu ejemplo.If (Sheets.Count < 10) Then             Sheets(Sheets.Count).Name = "IMT00" + Sheets.Count + ".2011"Else    If (Sheets.Count > 10 And Sheets.Count < 100) Then              Sheets(Sheets.Count).Name = "IMT0" + Sheets.Count + ".2011"    Else            Sheets(Sheets.Count).Name = "IMT" + Sheets.Count + ".2011"    End IfEnd IfEnd SubSub NUEVAINCFOTVLT()'' NUEVAINCFOTVLT Macro'
'    Sheets("NUEVA INC FOTOV").Select    Sheets("NUEVA INC FOTOV").Copy Before:=Sheets(Sheets.Count).Select 'Esto se va a la hoja creada'Con esto se te pone en formato de 2 ceros como tu ejemplo.If (Sheets.Count < 10) Then             Sheets(Sheets.Count).Name = "IMF00" + Sheets.Count + ".2011"Else    If (Sheets.Count > 10 And Sheets.Count < 100) Then              Sheets(Sheets.Count).Name = "IMFl0" + Sheets.Count + ".2011"    Else            Sheets(Sheets.Count).Name = "IMF" + Sheets.Count + ".2011"    End IfEnd IfEnd Sub
Creo que es porque el ------------------------------------------- no tiene el ' delante te quedaría
'----------------------------------------------------------

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas