When a task is assigned to one person, you can keep a copy of the task in your Task folder and the person who accepts the task can send you updates. However, this only works when you assign to the task to one person. If the Task is assigned to multiple people, Outlook can't track it and update the status.
In order to track the task and assign it to several people, you need to copy and resend the task.
Follow these steps to assign a task to a multiple people:
- Assign the task to the first person.
- Select the Assigned Task and Ctrl+C,V to copy and paste it.
- Select the copy and assign it to someone else.
- Repeat as needed.
While this works OK when you need to send the task to a small number of people, it's not workable to send it to a larger group.
To quickly assign a task to multiple people you need to use VBA. In this example, I'm using a userform to ask for the subject, due date and notes field and it's entered into the task.
- Set macro security to Low
- Open the VBA editor by press Alt+F11
- Right click on Project1 and choose Insert > Module
- Import the userform
- Paste the following code into the module
Select several contacts and run the macro to test it. Updated September 8 2016 to add an error handler. If contacts are not selected, the macro ends.
Public tSubject, tDate, tNotes As String Public Sub SendTasksToGroup() Dim Selection As Selection Dim obj As ContactItem Dim objTask As TaskItem Dim objitem As Object Set Selection = ActiveExplorer.Selection Set objitem = Application.ActiveExplorer.Selection.Item(1) If TypeOf objitem Is ContactItem Then frmTask.Show Else MsgBox "you need to select one or more contacts" Exit Sub End If For Each obj In Selection If obj.Class = olContact Then Set objTask = Application.CreateItem(olTaskItem) With objTask .Recipients.Add (obj.Email1Address) .Assign .Subject = tSubject .Body = tNotes .DueDate = tDate .Display End With End If Next Set objTask = Nothing Set obj = Nothing End Sub
If you want to edit the macro directly, you can replace tSubject, tDate, and tNotes with text. In the case of the date, you need to either use .DueDate = Now + 5 (or any whole number) or enter a date in this format: .DueDate = #1/2/2012#
Thank you for this info. I clicked a link in another post concerning the import of tasks from Excel, and ended up here. Hoping you may be able to provide some direction.
We have a large task list in Excel (155 tasks) that we want to be able to import into Outlook (right now, it is just a check-list, but frequently tasks are overlooked until after their due date). Some of the tasks will stay with the person the task list is being imported to, but several will need to be assigned to someone else, and tracked by the original owner. Is it possible to do this all at the same time as the task list is imported? I've tried mapping the assignment to "Role" and to "Contacts" without success. Any other suggestions?
Thank you!
You can't import it using the import wizard - it doesn't add the add the recipient, because it just saves; it won't send. A macro could do it - i have a macro at https://www.slipstick.com/developer/create-appointments-spreadsheet-data/#one that runs in excel (its faster to send to outlook, than for outlook to read excel) and creates appointments - you'd use the same basic idea for tasks, but change the field names (and use the tasks folder :)). i would use an if statement - if a field (the contact field) has an value, then assign and send it, else, just save it.
Hi - Thank you for your post.
I am wanting to do something similar - assign multiple tasks to a single person.
Is it possible to adjust this coding to do this or do you have another suggestion on how to do this within Outlook?
Your time is much appreciated :-)
This macro needs a little tweaking - since it's multiple tasks to one person, you remove the contact stuff and put the address in the recipient's line.
Public Sub SendTasks()
Dim Selection As Selection
Dim obj As TaskItem
Dim objTask As TaskItem
Set Selection = ActiveExplorer.Selection
For Each obj In Selection
If obj.Class = olTask Then
Set objTask = obj
With objTask
.Recipients.Add ("alias@domain.com")
.Assign
.Display
'.send
End With
End If
Next
Set objTask = Nothing
Set obj = Nothing
End Sub
I like the idea of copying a task and resending to others. I don't get how to copy the task. Can you give more information please?
To copy it, select the task, ctrl+C to copy it then ctrl+v to paste it. This creates a new unassigned task, which you can assign to someone else.
I am getting an error at line 11 in the code? Debugging highlights the line - For Each obj In Selection - any ideas on what the error might be?
Does it say type mismatch? Do you have contacts selected? (I updated to code to add an error handler that verifies contacts are selected)
How do you replace the tSubject, tDate, and tNotes with text? I tried it, but it still asked me to enter text for each contact.
oops. frmTask.Show is out of position. It need to be before the loop. Sorry about that.
Hi Diane, I am trying to use the above arrangement to assign tasks to several people in my organisation. I have followed your instructions but every time I try to save the file my copy of Outlook 2013 crashes. I have changed my macro settings to "Enable all macros" but still the same problem happens. However the macro seems to have saved but when I try to "run it" nothing happens.
this is very helpful, im keen to try it soon but is there a way to link multiple emails to 1 task? eg if we get a quote request any of 3 people can do it and sometimes there might be multiple emails about the quote (from suppliers and the client) we would like to group them all together and be able to see when quote is finished by any of the 3 users.
is outlook up to this? or am i better off looking at a job ticketing system? we record quote details in an Access database and then do the quotes in excel. i dont want to open any more programs!
I think a job ticketing system might be better. While outlook can group conversations or by sender, you'd need to manually add the messages to the tasks - it wouldn't be automatic.
Hi
I need to have more than recipient receiving the task automatic status notification
In the task details tab, the update list box is greyed out
What to do
Are you generating the status notification using VBA or just clicking the update button?