Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 531965
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 13, 20262026-05-13T09:21:21+00:00 2026-05-13T09:21:21+00:00

What version control systems have you used with MS Excel (2003/2007)? What would you

  • 0

What version control systems have you used with MS Excel (2003/2007)? What would you recommend and Why? What limitations have you found with your top rated version control system?

To put this in perspective, here are a couple of use cases:

  1. version control for VBA modules
  2. more than one person is working on a Excel spreadsheet and they may be making changes to the same worksheet, which they want to merge and integrate. This worksheet may have formulae, data, charts etc
  3. the users are not too technical and the fewer version control systems used the better
  4. Space constraint is a consideration. Ideally only incremental changes are saved rather than the entire Excel spreadsheet.
  • 1 1 Answer
  • 2 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-13T09:21:21+00:00Added an answer on May 13, 2026 at 9:21 am

    I’ve just setup a spreadsheet that uses Bazaar, with manual checkin/out via TortiseBZR. Given that the topic helped me with the save portion, I wanted to post my solution here.

    The solution for me was to create a spreadsheet that exports all modules on save, and removes and re-imports the modules on open. Yes, this could be potentially dangerous for converting existing spreadsheets.

    This allows me to edit the macros in the modules via Emacs (yes, emacs) or natively in Excel, and commit my BZR repository after major changes. Because all the modules are text files, the standard diff-style commands in BZR work for my sources except the Excel file itself.

    I’ve setup a directory for my BZR repository, X:\Data\MySheet. In the repo are MySheet.xls and one .vba file for each of my modules (ie: Module1Macros). In my spreadsheet I’ve added one module that is exempt from the export/import cycle called “VersionControl”. Each module to be exported and re-imported must end in “Macros”.

    Contents of the “VersionControl” module:

    Sub SaveCodeModules()
    
    'This code Exports all VBA modules
    Dim i%, sName$
    
    With ThisWorkbook.VBProject
        For i% = 1 To .VBComponents.Count
            If .VBComponents(i%).CodeModule.CountOfLines > 0 Then
                sName$ = .VBComponents(i%).CodeModule.Name
                .VBComponents(i%).Export "X:\Tools\MyExcelMacros\" & sName$ & ".vba"
            End If
        Next i
    End With
    
    End Sub
    
    Sub ImportCodeModules()
    
    With ThisWorkbook.VBProject
        For i% = 1 To .VBComponents.Count
    
            ModuleName = .VBComponents(i%).CodeModule.Name
    
            If ModuleName <> "VersionControl" Then
                If Right(ModuleName, 6) = "Macros" Then
                    .VBComponents.Remove .VBComponents(ModuleName)
                    .VBComponents.Import "X:\Data\MySheet\" & ModuleName & ".vba"
               End If
            End If
        Next i
    End With
    
    End Sub
    

    Next, we have to setup event hooks for open / save to run these macros. In the code viewer, right click on “ThisWorkbook” and select “View Code”. You may have to pull down the select box at the top of the code window to change from “(General)” view to “Workbook” view.

    Contents of “Workbook” view:

    Private Sub Workbook_Open()
    
    ImportCodeModules
    
    End Sub
    
    Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
    
    SaveCodeModules
    
    End Sub
    

    I’ll be settling into this workflow over the next few weeks, and I’ll post if I have any problems.

    Thanks for sharing the VBComponent code!

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I have used traditional version control systems to maintain source code repositories on past
I have a database that is being used as a sort of version control
I have been using distributed version control systems for the last few years, but
I have been trying to learn and get used to version control, more specifically
I need to know which version control systems support single checkout? When I say
I try to get familiar with version control systems (mercurial to be exact) -
I just read Spolsky's last piece about Distributed vs. Non-Distributed version control systems http://www.joelonsoftware.com/items/2010/03/17.html
Using a version control system for your source code (like subversion ) makes sense
Newbie to Fossil (or any other version control system) here. Used a proprietary one
I have been hearing a lot about the advantages of using a version control

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.