This is very difficult to diagnose without at least seeing the code. There is nothing in 2016 that would cause this if it worked in 2013. Did you move from 32-bit to 64-bit office, or vice versa?
What module contains sub button_click? What module contains the code that calls it? You said, "If I create a module...." instead of "There is a module...." That makes it sound like this code did not exist in the 2013 version, so what have you changed in the code besides just going from 2013 to 2016?
One way to diagnose this type of problem is to make a copy of your file, and strip out everything that doesn't relate to the problem. Delete all the data in all the sheets except for the button. Delete all the code in all the modules except for the sub button_click and the other code that calls it. In sub button_click remove all the code and just leave
MsgBox "button was clicked"
After doing all that see if the problem still exists. If it does, then attach your file since it will not longer have any sensitive data or code.
Bookmarks