I want to make an email tracker in excel with the functionalities below

1. Adding Emails to the Tracker
Purpose: To keep track of email communications that require follow-ups or monitoring.
How it Works:
Input Fields: On the main sheet (Sheet1), you have two input fields:
Email Subject: The subject line of the email you want to track.
Recipients: The email addresses of the recipients.
Add to List Button: Clicking the "Add to List" button adds the email subject and recipients to the tracking table below.
Data Recorded: When an email is added, the following information is stored:
Email Subject: Hyperlinked to allow quick access to search the conversation in Outlook.
Recipients: List of email addresses.
Status: Initially set to "Followed Up".
Remarks: Initially set to "Awaiting Response".
Last Follow-Up Date: Timestamp of when the email was added.
Delete Button: Allows you to remove the entry from the tracker.
Send Follow-Up Button: Enables manual sending of a follow-up email.
Last Response Date: Initially blank; updated when a response is received.
Follow-Up Count: Tracks the number of follow-ups sent.
ConversationID: Unique identifier for the email thread.
2. Sending Follow-Up Emails
Purpose: To facilitate timely follow-ups on emails that haven't received a response.
Individual Follow-Up:
Send Follow-Up Button: Next to each entry, clicking this button sends a follow-up email.
Functionality:
Replies to Latest Email: The follow-up is sent as a reply to the most recent email in the conversation thread, maintaining the email chain.
Content: Uses the "Follow-Up Message" defined in the FollowUpMessages sheet.
Updates Tracker: The "Last Follow-Up Date" and "Follow-Up Count" are updated.
Bulk Follow-Up:
Send Follow-Up To All Button: Sends follow-up emails to all entries awaiting a response and due for a follow-up based on the defined interval.
3. Automatic Follow-Up and Escalation
Purpose: To automate the follow-up process and escalate when necessary.
Automated Follow-Up:
Scheduler: The tracker periodically checks for responses and sends follow-ups using the Application.OnTime method.
Interval: The "First Follow-Up Interval (Days)" in the Preferences sheet determines how many days to wait before sending a follow-up.
Criteria: If the "Last Follow-Up Date" exceeds the interval and no response has been logged, a follow-up is sent.
Escalation:
Escalation Trigger: If an email hasn't received a response after a certain number of follow-ups or days.
Follow-Up Count Threshold: Defined in code (e.g., after 5 follow-ups).
Escalation Interval: Defined in the Preferences sheet.
Escalation Email:
Recipient: Sent to the "Escalation Recipient" specified in the FollowUpMessages sheet.
Subject Line: Prefixed with "MDM escalation - " followed by the original subject.
Content: Uses the "Escalation Message" from the FollowUpMessages sheet.
Email Chain: Forwards the latest email in the conversation to maintain context.
4. Checking Email Responses
Purpose: To update the status of tracked emails based on whether a response has been received.
How it Works:
Check Responses Button: Manually triggers the response check.
Automatic Checking: Also scheduled to run periodically.
Functionality:
Outlook Integration: Searches Outlook folders (Inbox, Sent Items, etc.) for emails matching the subject.
Latest Email Detection: Identifies the most recent email in the thread.
Status Update:
If the latest email is from the recipient, status changes to "Operator Replied" and remarks to "Response Received".
If the latest email is from the user, status changes to "You Replied".
Updates Last Response Date: Records when a response was received.
5. Data Visualization
Purpose: To provide visual insights into email tracking data.
Data Visualization Button: Generates charts on a separate "Charts" sheet.
Charts Created:
Email Status Distribution:
Type: Pie chart.
Displays: Proportions of emails by status (e.g., Followed Up, Operator Replied).
Days Since Last Response:
Type: Column chart.
Displays: Number of emails grouped by how many days have passed since the last response.
6. Importing and Exporting Data
Purpose: To allow data persistence and portability.
Export Data Button:
Functionality: Exports the tracking table data to a CSV file.
Usage: Helpful for backups or analyzing data externally.
Import Data Button:
Functionality: Imports data from a CSV file into the tracker.
Usage: Allows you to restore previous tracking data or integrate data from other sources.
7. Activity Log
Purpose: To maintain a record of actions taken within the tracker.
Located in: "ActivityLog" sheet.
Recorded Actions:
Adding emails to the list.
Sending follow-ups.
Deleting entries.
Sending escalation emails.
Automatic follow-ups and escalations.
Details Logged:
Date and Time: When the action occurred.
Action Description: What action was taken.
8. Preferences and Settings
Purpose: To customize the tracker's behavior according to user needs.
Located in: "Preferences" sheet.
Settings Available:
Backup Path: Directory where backups can be saved (feature to be implemented or customized).
Backup Interval (Hours): How often to perform backups.
First Follow-Up Interval (Days): Days to wait before sending the first follow-up.
Escalation Interval (Days): Days to wait before escalating.
Response Check Interval (Minutes): Frequency of checking for email responses.
Customization: Users can adjust these settings to control the timing of follow-ups and escalations.
9. User Interface Elements
Buttons and Controls: Located on the main sheet for easy access.
Add to List
Check Responses
Send Follow-Up To All
Data Visualization
Import Data
Export Data
Close Tracker
Row-Level Buttons:
Delete: Removes an email entry from the tracker.
Send Follow-Up: Initiates a follow-up email for that specific entry.
Hyperlinked Email Subjects:
Clicking the email subject allows users to quickly search the email thread in Outlook.
10. Closing the Tracker
Purpose: Provides a convenient way to save work and exit the application.
Close Tracker Button:
Functionality: Saves the workbook and closes Excel.
Ensures: All data and any changes are preserved before exiting.
11. Additional Functionalities
Automatic Scheduling:
Response Checking and Follow-Ups: The tracker uses VBA's Application.OnTime method to schedule periodic tasks.
Error Handling:
The code includes error handling to manage exceptions and inform the user if something goes wrong.
Conditional Formatting:
Visual Cues: Rows are highlighted based on their status or remarks to provide quick visual insights.
Response Received: Might be highlighted in green.
Operator Replied: Highlighted in yellow.
You Replied: Highlighted in blue.
Data Integrity:
Validations: Ensures that inputs are provided for required fields.
Cleanup: Old buttons and objects are managed to prevent clutter or errors.
Summary
This email tracker is a comprehensive tool designed to automate and streamline the process of managing email communications that require follow-ups. By integrating Excel with Outlook via VBA macros, it allows users to:

Monitor email statuses and receive updates on replies.
Automate follow-ups to ensure timely communication without manual intervention.
Escalate important emails that have not received a response within a specified timeframe.
Visualize tracking data to gain insights into communication patterns.
Maintain logs of all activities for accountability and record-keeping.
Customize settings to fit individual or organizational needs.
Import and export data for portability and data analysis.
Overall, the tracker enhances productivity by reducing the manual effort required to manage email follow-ups and provides a centralized platform to monitor ongoing communications effectively.

send me first the first half of all the modules im going to need then after that ask me first if you can send the rest of the codes before sending the rest of the codes for the rest of the modules that will be needed. send the entire code for each of the modules.before giving me the updated codes check first for possible errors in the new updated codes fix that so that everzthing will work smoothly when I try them dont shortcut them.