Si una hoja existe...

TAVITO: sigo dando vueltas con la agenda... Ahora se me ocurrió un nuevo camino, pero ando cortado en algo...
Necesito una macro (para colocar en un UF, en un botón) que se fije si una hoja EXISTE: si existe, que la lea (ahí ya sé, con App.WSheetF.VLookup...); SI NO EXISTE, que copie la hoja "MATRÍZ" con el nombre que le doy desde un TextBox (en el mismo UF y en el mismo momento).
En limpio: selecciono una fecha en Calendar, y lo que selecciono aparece, en formato dd-mmm, en el TextBox que te digo. Hago click. Si no hay dados turnos todavía para ese día, que me copie la hoja MATRIZ con el nombre del día (TextBox); si ya existe, que me la lea...
Un abrazo

1 respuesta

Respuesta
1
Si entendí bien la pregunta. La idea es seleccionar una hoja, pero si no existe entonces que copie otra:
Private Sub Boton_Click()
On Error GoTo noexiste
Sheets("Hoja1").Activate
Exit Sub
No existe:
Sheets("Matriz"). Copy
End Sub

Pienso que es eso. Intenta seleccionar la Hoja, si te salta error es porque no existe, sino entonces hace la copia.
TAVO: exista o no exista, considera que no existe... Y me crea hojas del mismo día...
Esto fué lo que adapté (TextBox2=fecha; "MATRÍZ", hoja a copiar SI NO EXISTE LA FECHA; SelecTur=UF siguiente a éste, con carga de datos).
Fíjate, please, qué me falta, o qué burrada cometí.
Un abrazo
On Error GoTo noexiste
Sheets(TextBox2.Value).Activate
Load SelectTur
SelecTur.Show
Me.Hide
Exit Sub
noexiste:
Worksheets("MATRÍZ").Activate
Worksheets("MATRÍZ").Copy After:=Sheets("MATRÍZ")
Sheets("MATRÍZ (2)").Name = TextBox2.Value
MsgBox "NO HAY TURNOS DADOS para el Día seleccionado.", vbInformation, "DISPONIBILIDAD PLENA DE HORARIOS"
End Sub
No veo errores en cuanto al código. La verdad es complicado revisarlo sin entender qué es lo que estás haciendo.
Perfecto, Tavito... Después de varios "ensayo y error", con tu indicación, llegamos a que funcione...
Si querés, te mando lo que "hicimos". Avisame [email protected]
Un abrazo

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas