Ayuda con una rutina en macro
Hola buen día Experto,
mi problema es el siguiente tengo una macro que carga la información de access a una hoja de calculo y en diferentes hojas ("hoja1","Hoja2", etc.) pero como el documento esta compartido tengo bloqueadas algunas hojas para que las vea unicamente la persona autorizada, el problema es que al correr la macro para que se actualicen los datos no encuentra las hojas ocultas y me marca un debug lo que quiero es hacer que si no encuentra la hoja, pues que se la salte.
Esta es mi rutina:
**Las idea esta aqui seria "si la hoja1 no aparece entonces saltar esto'***
Sub Carga_Informacion()
Application.ScreenUpdating = False
Sheets("Hoja1").Select
consultaSQL = "SELECT * FROM [EandO_Action_Details_Qry] where [status] = 'AVAIL'"
rst.Open consultaSQL, "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & ThisWorkbook.Path & "\E&O Data base.mdb;Persist Security Info=False;", adOpenDynamic, adLockOptimistic
Sheets("Hoja1").Range("A2:CS50000").ClearContents
Col = 2
rst.MoveFirst
Do While Not rst.EOF
Sheets("Hoja1").Cells(Col, 1) = rst.Fields("Day") '
Sheets("Hoja1").Cells(Col, 2) = rst.Fields("Material_number") '
Sheets("Hoja1").Cells(Col, 3) = rst.Fields("Material_description") '
Sheets("Hoja1").Cells(Col, 4) = rst.Fields("Total_Available") '
Sheets("Hoja1").Cells(Col, 5) = rst.Fields("Standard_price") '
Sheets("Hoja1").Cells(Col, 6) = rst.Fields("Price_unit") '
Sheets(1).Columns("A:B").AutoFit
Col = Col + 1
rst.MoveNext
Loop
rst.Close
Set rst = Nothing
Set FLD = Nothing
Columns.AutoFit
Range("A1").Select
MsgBox " Successfully Imported Data "
Application.ScreenUpdating = True
End Sub
mi problema es el siguiente tengo una macro que carga la información de access a una hoja de calculo y en diferentes hojas ("hoja1","Hoja2", etc.) pero como el documento esta compartido tengo bloqueadas algunas hojas para que las vea unicamente la persona autorizada, el problema es que al correr la macro para que se actualicen los datos no encuentra las hojas ocultas y me marca un debug lo que quiero es hacer que si no encuentra la hoja, pues que se la salte.
Esta es mi rutina:
**Las idea esta aqui seria "si la hoja1 no aparece entonces saltar esto'***
Sub Carga_Informacion()
Application.ScreenUpdating = False
Sheets("Hoja1").Select
consultaSQL = "SELECT * FROM [EandO_Action_Details_Qry] where [status] = 'AVAIL'"
rst.Open consultaSQL, "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & ThisWorkbook.Path & "\E&O Data base.mdb;Persist Security Info=False;", adOpenDynamic, adLockOptimistic
Sheets("Hoja1").Range("A2:CS50000").ClearContents
Col = 2
rst.MoveFirst
Do While Not rst.EOF
Sheets("Hoja1").Cells(Col, 1) = rst.Fields("Day") '
Sheets("Hoja1").Cells(Col, 2) = rst.Fields("Material_number") '
Sheets("Hoja1").Cells(Col, 3) = rst.Fields("Material_description") '
Sheets("Hoja1").Cells(Col, 4) = rst.Fields("Total_Available") '
Sheets("Hoja1").Cells(Col, 5) = rst.Fields("Standard_price") '
Sheets("Hoja1").Cells(Col, 6) = rst.Fields("Price_unit") '
Sheets(1).Columns("A:B").AutoFit
Col = Col + 1
rst.MoveNext
Loop
rst.Close
Set rst = Nothing
Set FLD = Nothing
Columns.AutoFit
Range("A1").Select
MsgBox " Successfully Imported Data "
Application.ScreenUpdating = True
End Sub
1 respuesta
Respuesta de newmodel
1