Como ocultar una hoja y poder guardar datos

Hice un formulario con una macro y lo deje en hoja1 pero hice que los dato se guardaran en la hoja2 pero quiero que esta hoja2 este oculta para que no puedan ver los datos como le puedo hace para poder ocultar la hoja y seguir guardando sin que me mande un error en el código

1 Respuesta

Respuesta
1
La mejor opción (para mi) es visualizar la hoja justo antes de grabar los datos, y luego volver a ocultarla, todo dentro de la macro:
hacer visible: Sheets("Hoja2").Visible = -1
grabar datos: .....
hacer invisible: Sheets("Hoja2").Visible = 2
De esta forma la hoja no se podrá mostrar ni siquiera desde Formato -> Hoja -> Mostrar, ya que está como "muy oculta" y solo se puede hacer visible desde el código o desde el editor de Visual basic (Alt+F11)
Si la quieres ocultar pero que se pueda mostrar desde Formato -> Hoja -> Mostrar debes ocultarla con Sheets("Hoja2"). Visible = 0
Ok nada más aclarame una cosa mira este es el código que yo utiliza para el formulario esta es la primera vez que programo
Private Sub ComboBox1_Change()
End Sub
Private Sub ComboBox2_Change()
Range("e9").Select
ActiveCell.FormulaR1C1 = ComboBox2
End Sub
Private Sub ComboBox3_Change()
Range("D9").Select
ActiveCell.FormulaR1C1 = ComboBox3
End Sub
Private Sub CommandButton1_Click()
Rem inserta un renglón
Selection.EntireRow.insert
Rem Empty Limpia Los Textbox
TextBox1 = Empty
TextBox2 = Empty
TextBox3 = Empty
TextBox4 = Empty
TextBox5 = Empty
Rem Txtbox1.SetFocus Envia el cursor al Textbox1 para volver a capturar los datos
TextBox1.SetFocus
End Sub
Private Sub CommandButton2_Click()
End Sub
Private Sub Label2_Click()
End Sub
Private Sub TextBox1_Change()
Range("B9").Select
ActiveCell.FormulaR1C1 = TextBox1
End Sub
Private Sub TextBox2_Change()
Range("C9").Select
Sheets("sheet3").Select
ActiveCell.FormulaR1C1 = TextBox2
End Sub
Private Sub TextBox3_Change()
Range("F9").Select
ActiveCell.FormulaR1C1 = TextBox3
End Sub
Private Sub TextBox4_Change()
Range("G9").Select
ActiveCell.FormulaR1C1 = TextBox4
End Sub
Private Sub TextBox5_Change()
Range("H9").Select
ActiveCell.FormulaR1C1 = TextBox5
End Sub
Private Sub TextBox6_Change()
Range("I9").Select
ActiveCell.FormulaR1C1 = TextBox5
End Sub
Private Sub UserForm_activate()
ComboBox3.AddItem "APO"
ComboBox3.AddItem "BAP"
ComboBox3.AddItem "BAP HealtSolutions"
ComboBox3.AddItem "EPI"
ComboBox3.AddItem "Lactowin"
ComboBox3.AddItem "BAP Corral"
ComboBox3.AddItem "Paylean"
ComboBox3.AddItem "FVP"
ComboBox2.AddItem "Rumiantes"
ComboBox2.AddItem "Pollos"
ComboBox2.AddItem "Monogastricos"
End Sub
En que parte de esto yo puedo insertar esto que me dijiste
No puedo ponerme a probarlo ahora, pero haz esto:
Prueba de dejarla siempre oculta. Si la macro te da error deberías mostrarla/ocultarla solo cuando escribes en ella:
Private Sub ComboBox2_Change()
Sheets("Hoja2").Visible = -1
Range("e9").Select
ActiveCell.FormulaR1C1 = ComboBox2
Sheets("Hoja2").Visible = 2
End Sub
Cuando tenga tiempo pruebo el código, pero creo que así te tiene que andar.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas