Agregar hoja

Hola, qué instrucción debo usar para que en un libro se agregue una hoja con el nombre "resultado1", pero si resultado ya existe, entonces "resultado2" y así sucesivamente. Agradezco cualquier tipo de ayuda.
2

2 respuestas

Respuesta
1
Prueba con esta macro:
==============
Sub CrearMacroResultadoX()
Set NewSheet = Sheets.Add(Type:=xlWorksheet)
NameNewSh = "Resultado" & LTrim(Str(Sheets.Count))
Anterior = "Resultado" & LTrim(Str(Sheets.Count - 1))
NewSheet.Name = NameNewSh
Sheets(NameNewSh).Move After:=Sheets(Anterior)
End Sub
==============
Esta crea una hoja nueva, le coloca el nombre "Resultado" y cuenta cuántas hojas tiene el libro, así que le asigna ese número (así que deberías tener solo hojas llamadas así), luego la envía hasta el final para que quede de última.
Cuéntame cómo te va.
Hola, gracias funciona bien, pero no necesariamente va a haber una hoja "resultado" antes. Entonces independiente de las hojas que ya estén la hoja nueva debe llamarse resultado1, si existe entonces resultado2
En ese caso, te recomiendo que uses una hoja de cálculo para ir almacenando los nombres de las hojas existentes, así te será más fácil saber cuál fue la última que se creó.
Lo que puedes hacer es modificar el código que te envié, leyendo desde una hoja de cálculo (que puedes mantener oculta) cual es el número de la última hoja con dichas características que se creó. Te recomiendo hacerlo con la hoja de cálculo, ya que como vas a abrir y cerrar el libro, no te serviría una variable global.
Revisa si esta solución te sirve, sino no dudes en preguntar.
Respuesta
1
Esto Puede Ayudarte
Sub Agregar_Resultado()
Dim Hoja As Worksheet
Dim Encontrada As Integer
Encontrada = 0
For Each Hoja In ActiveWorkbook.Worksheets
If Mid(Hoja.Name, 1, 9) = "Resultado" Then
Encontrada = Encontrada + 1
End If
Next Hoja
Encontrada = Encontrada + 1
ActiveWorkbook. Worksheets. Add, Worksheets(ActiveWorkbook. Worksheets. Count), 1, xlWorksheet
ActiveSheet.Name = "Resultado" & Encontrada
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas