Preventing students from viewing future assingments

Copper Contributor

I have hidden my channels (weekly assignments) and will unhide that particular channel on the lesson date.  Is there a way to set a date on the channel so it unhides on the lesson date?

7 Replies



:: Caveat :: This solution is for Excel only.


What you are trying is only possible by using VBA macro.




Private Sub Worksheet_Change(ByVal Target As Range)
    Dim AssDate As Date
    AssDate = Range("A1").Value
    Dim Currdate As Date
    Currdate = Date

    If Currdate = CDate(AssDate) Then

        ActiveWorkbook.Sheets(1).Visible = xlSheetVeryHidden

        ActiveWorkbook.Sheets(1).Visible = xlSheetVisible
    End If
End Sub




How it works:

To invoke VB Editor to use this code,  you will need to press Alt+F11.

  • Then Copy & Paste this code.
  • Return to the sheet & Save the WB as Macro enable *.xlsm.
  • Write the date in cell A1 on which you want to un hide the assignment.


  • If and when the Current date will equals to the Assign date this code will unhide the Sheet/Sheets. 
  • You may hide & unhide as many sheets.
  • This is editable, and you may use formula as needed to compare, Current Date ( Currdate  )  with Assignment Date ( AssDate ).
If Currdate = CDate(AssDate)  Then
Confirm through comments whether this works or not, and if works then you may accept this as best answer as well like .

@John_P490Hiding the channel does not make it invisible to students. Students will see the channel under 'Hidden channels' and can view the channel at any time from their channel list even if you set it as hidden by default. There is no way to set a date to change a hidden channel to 'Show'.

A better approach for this would be to schedule the individual assignments to post at a specific future date and time. They will then appear at the set date and time in the channel and won't be visible to students beforehand even if students can see the channel.  To schedule an assignment in the future, click 'Edit' just under the due date:


Then check the box to 'Schedule to assign in the future' and choose a 'Post date' and 'Post time' then click 'Done':



@Rajesh_SinhaThis looks like a good solution for Excel, but there is no way to run VBA within Teams as far as I know.

Yes U are write,,, my solution only works for EXCEL Sheets if is been shared among users!!
Better be clear & loud whether your issue related to which Application/Software,, help readers to suggest the best solutions!

@Rajesh_SinhaTo be fair to @John_P490 the question was posted in the Microsoft Teams for Education category and referred clearly to Assignments and Channels in the original post. I'm not sure that there is more that they could have done to identify the situation where it applied.

I think it's related to the Microsoft Team ,,, application for online meetings/training !!