This macro opens a little form with two drop down menus listing the worksets in the project and then try to move all the possible object from the source to the target workset.
There's a Log button that opens a read only dialog listing the Id's of the elements and the types divided by workset and the number of objects in parenthesis.
I've used two different techniques to list the worksets in the project, the FilteredWorksetCollector and another one using the WorksetPreviews.
Right now I'm thinking about adding a check list for the categories to move between worksets, so the the form would be something more like the one in this other video:
Implementing the category check list produced some undesirable side effects: Analytical Surfaces and Structural Trusses return an error when selected, categories such as "Other" and "Legend components" are no longer taken into account when performing the macro.
I guess it's best to keep the possibility to control each and every object in the model for the next version.