How to keep history of data changes in one excel workbook or sheet to another workbook or sheet
.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty{ height:90px;width:728px;box-sizing:border-box;
}
good afternoon,
I am working on an excel sheet where I have a table of data. This data represents several metrics that my department wants to keep track on. Whenever someone wants to populate the table with new data, the previous data in the cells are lost.
How can someone create a separate sheet where you can store all the values of that table automatically? I mean, when a change is done in one of the table cell, the new value to be automatically stored in another table that will keep all the values(old and new) of the cells? I tried the "track changes" but I'm not sure whether I like this way so much.
Does anyone know a more efficient way to do this? Through a macro for example?
Thank you!
microsoft-excel
add a comment |
good afternoon,
I am working on an excel sheet where I have a table of data. This data represents several metrics that my department wants to keep track on. Whenever someone wants to populate the table with new data, the previous data in the cells are lost.
How can someone create a separate sheet where you can store all the values of that table automatically? I mean, when a change is done in one of the table cell, the new value to be automatically stored in another table that will keep all the values(old and new) of the cells? I tried the "track changes" but I'm not sure whether I like this way so much.
Does anyone know a more efficient way to do this? Through a macro for example?
Thank you!
microsoft-excel
Is there an Excel add-on for it?
– Eric Wang
Jan 17 at 2:38
add a comment |
good afternoon,
I am working on an excel sheet where I have a table of data. This data represents several metrics that my department wants to keep track on. Whenever someone wants to populate the table with new data, the previous data in the cells are lost.
How can someone create a separate sheet where you can store all the values of that table automatically? I mean, when a change is done in one of the table cell, the new value to be automatically stored in another table that will keep all the values(old and new) of the cells? I tried the "track changes" but I'm not sure whether I like this way so much.
Does anyone know a more efficient way to do this? Through a macro for example?
Thank you!
microsoft-excel
good afternoon,
I am working on an excel sheet where I have a table of data. This data represents several metrics that my department wants to keep track on. Whenever someone wants to populate the table with new data, the previous data in the cells are lost.
How can someone create a separate sheet where you can store all the values of that table automatically? I mean, when a change is done in one of the table cell, the new value to be automatically stored in another table that will keep all the values(old and new) of the cells? I tried the "track changes" but I'm not sure whether I like this way so much.
Does anyone know a more efficient way to do this? Through a macro for example?
Thank you!
microsoft-excel
microsoft-excel
asked Jul 16 '15 at 16:39
user470084user470084
21114
21114
Is there an Excel add-on for it?
– Eric Wang
Jan 17 at 2:38
add a comment |
Is there an Excel add-on for it?
– Eric Wang
Jan 17 at 2:38
Is there an Excel add-on for it?
– Eric Wang
Jan 17 at 2:38
Is there an Excel add-on for it?
– Eric Wang
Jan 17 at 2:38
add a comment |
5 Answers
5
active
oldest
votes
(I'm on mobile so I can't provide a very fleshed out answer right now.)
I have written code to exactly this. My intent was to track all changes on a critical sheet edited by multiple users. If there was a dispute about where data came from, I could review the log. Here are VBA pieces that will come in handy.
Worksheet_Change
event will fire every time the worksheet is changed.
If Not Intersect(Target, Range("A1:G12")) Is Nothing
will tell you whether or not the cell(s) that changed are within some range you care about.
It's faster to store the values you want to log into an array and them set some range on your log sheet to be equal to that array as opposed to setting each cell on the log sheet individually.
Take a stab and see how far you get. I can be a little more verbose tomorrow.
Next Day Edit
Here's some code that will watch the range A1:G12
on whatever sheet has the code in it. If r
is the row that was changed, then the code will copy everything from Ar:Gr
into a sheet whose code name is shtLog
. (Code name is the name shown in VBA, not the name on the tab you see in Excel.) This should get you moving in the right direction.
Private Sub Worksheet_Change(ByVal Target As Range)
Dim r As Integer
Dim c As Integer
Dim arr(1 To 1, 1 To 12)
If Not Intersect(Target, Range("A1:G12")) Is Nothing Then
r = Target.Row
For c = 1 To 12
arr(1, c) = Cells(r, c).Value
Next
With shtLog
.Range(.Cells(.UsedRange.Rows.Count + 1, 1), .Cells(.UsedRange.Rows.Count + 1, 12)) = arr
End With
End If
End Sub
Thank you very much! It does work, however, I have a small problem. When I run the macro I use data from sheet1 and I want to store them in sheet2. So the changes are stored in sheet2, but only the last change, not all previous. However, if change sheet2 to sheet1 in the code which means that I require the data to be stored in sheet1, all changes are regularly stored in sheet1, exactly below the table range that I give as input. Do you have any idea why this might happen?
– user470084
Jul 23 '15 at 19:00
add a comment |
The built-in "Track Changes" functionality will likely be far more robust than any change tracking you attempt to implement with macros. Stick with that.
the problem is that the "track changes" will provide a list of history changes which I have very little flexibility to manipulate. I would like for example to present the history in a different way so someone who looks at it can understand the evolution of the values of the cells through time...
– user470084
Jul 16 '15 at 16:47
add a comment |
We (disclaimer, I'm the founder) built a audit trail system for Excel (like what Google Docs does, but for Excel). It doesn't require a shared workbook, and the audit trail is saved to a local SQL Database so it can be accessed from any workbook and saved as a separate sheet. Have a look: http://www.officeautomata.com
add a comment |
Building on Engineer Toast's answer, this logs the time and name of computer making the changes too. Note that the first row in shtLog must have content, otherwise the script will constantly overwrite row 2
Private Sub Worksheet_Change(ByVal Target As Range)
Dim r As Integer
Dim c As Integer
Dim arr(1 To 1, 1 To 26)
' Range to watch for changes
If Not Intersect(Target, Range("A1:Z200")) Is Nothing Then
' Get row that has changed
r = Target.Row
For c = 1 To 26
arr(1, c) = Cells(r, c).Value
Next
' Count number of rows in table
Dim rowCount As Integer
rowCount = shtLog.UsedRange.Rows.Count
' Set row to use
Dim rowToUse As Integer
rowToUse = rowCount + 1
' Insert date at the start of the row
shtLog.Cells(rowToUse, 1).Value = Format(Now(), "dd/mm/yyyy hh:nn AM/PM")
' Insert Computer nameto track whose made changes
shtLog.Cells(rowToUse, 2).Value = Environ("USER")
' Insert the new values in to this row
' Note the cols have shift by +1 to allow for the date
With shtLog
.Range(.Cells(rowToUse, 3), .Cells(rowToUse, 28)) = arr
End With
End If
End Sub
add a comment |
With the Append feature of Sheetgo you can save keep a historic record of changing variables in Excel. More info in this blogpost: https://blog.sheetgo.com/how-to-solve-with-sheetgo/track-changes-in-excel-files/ (*disclaimer: I am a co-founder of Sheetgo).
add a comment |
protected by Community♦ Jan 25 '18 at 23:42
Thank you for your interest in this question.
Because it has attracted low-quality or spam answers that had to be removed, posting an answer now requires 10 reputation on this site (the association bonus does not count).
Would you like to answer one of these unanswered questions instead?
5 Answers
5
active
oldest
votes
5 Answers
5
active
oldest
votes
active
oldest
votes
active
oldest
votes
(I'm on mobile so I can't provide a very fleshed out answer right now.)
I have written code to exactly this. My intent was to track all changes on a critical sheet edited by multiple users. If there was a dispute about where data came from, I could review the log. Here are VBA pieces that will come in handy.
Worksheet_Change
event will fire every time the worksheet is changed.
If Not Intersect(Target, Range("A1:G12")) Is Nothing
will tell you whether or not the cell(s) that changed are within some range you care about.
It's faster to store the values you want to log into an array and them set some range on your log sheet to be equal to that array as opposed to setting each cell on the log sheet individually.
Take a stab and see how far you get. I can be a little more verbose tomorrow.
Next Day Edit
Here's some code that will watch the range A1:G12
on whatever sheet has the code in it. If r
is the row that was changed, then the code will copy everything from Ar:Gr
into a sheet whose code name is shtLog
. (Code name is the name shown in VBA, not the name on the tab you see in Excel.) This should get you moving in the right direction.
Private Sub Worksheet_Change(ByVal Target As Range)
Dim r As Integer
Dim c As Integer
Dim arr(1 To 1, 1 To 12)
If Not Intersect(Target, Range("A1:G12")) Is Nothing Then
r = Target.Row
For c = 1 To 12
arr(1, c) = Cells(r, c).Value
Next
With shtLog
.Range(.Cells(.UsedRange.Rows.Count + 1, 1), .Cells(.UsedRange.Rows.Count + 1, 12)) = arr
End With
End If
End Sub
Thank you very much! It does work, however, I have a small problem. When I run the macro I use data from sheet1 and I want to store them in sheet2. So the changes are stored in sheet2, but only the last change, not all previous. However, if change sheet2 to sheet1 in the code which means that I require the data to be stored in sheet1, all changes are regularly stored in sheet1, exactly below the table range that I give as input. Do you have any idea why this might happen?
– user470084
Jul 23 '15 at 19:00
add a comment |
(I'm on mobile so I can't provide a very fleshed out answer right now.)
I have written code to exactly this. My intent was to track all changes on a critical sheet edited by multiple users. If there was a dispute about where data came from, I could review the log. Here are VBA pieces that will come in handy.
Worksheet_Change
event will fire every time the worksheet is changed.
If Not Intersect(Target, Range("A1:G12")) Is Nothing
will tell you whether or not the cell(s) that changed are within some range you care about.
It's faster to store the values you want to log into an array and them set some range on your log sheet to be equal to that array as opposed to setting each cell on the log sheet individually.
Take a stab and see how far you get. I can be a little more verbose tomorrow.
Next Day Edit
Here's some code that will watch the range A1:G12
on whatever sheet has the code in it. If r
is the row that was changed, then the code will copy everything from Ar:Gr
into a sheet whose code name is shtLog
. (Code name is the name shown in VBA, not the name on the tab you see in Excel.) This should get you moving in the right direction.
Private Sub Worksheet_Change(ByVal Target As Range)
Dim r As Integer
Dim c As Integer
Dim arr(1 To 1, 1 To 12)
If Not Intersect(Target, Range("A1:G12")) Is Nothing Then
r = Target.Row
For c = 1 To 12
arr(1, c) = Cells(r, c).Value
Next
With shtLog
.Range(.Cells(.UsedRange.Rows.Count + 1, 1), .Cells(.UsedRange.Rows.Count + 1, 12)) = arr
End With
End If
End Sub
Thank you very much! It does work, however, I have a small problem. When I run the macro I use data from sheet1 and I want to store them in sheet2. So the changes are stored in sheet2, but only the last change, not all previous. However, if change sheet2 to sheet1 in the code which means that I require the data to be stored in sheet1, all changes are regularly stored in sheet1, exactly below the table range that I give as input. Do you have any idea why this might happen?
– user470084
Jul 23 '15 at 19:00
add a comment |
(I'm on mobile so I can't provide a very fleshed out answer right now.)
I have written code to exactly this. My intent was to track all changes on a critical sheet edited by multiple users. If there was a dispute about where data came from, I could review the log. Here are VBA pieces that will come in handy.
Worksheet_Change
event will fire every time the worksheet is changed.
If Not Intersect(Target, Range("A1:G12")) Is Nothing
will tell you whether or not the cell(s) that changed are within some range you care about.
It's faster to store the values you want to log into an array and them set some range on your log sheet to be equal to that array as opposed to setting each cell on the log sheet individually.
Take a stab and see how far you get. I can be a little more verbose tomorrow.
Next Day Edit
Here's some code that will watch the range A1:G12
on whatever sheet has the code in it. If r
is the row that was changed, then the code will copy everything from Ar:Gr
into a sheet whose code name is shtLog
. (Code name is the name shown in VBA, not the name on the tab you see in Excel.) This should get you moving in the right direction.
Private Sub Worksheet_Change(ByVal Target As Range)
Dim r As Integer
Dim c As Integer
Dim arr(1 To 1, 1 To 12)
If Not Intersect(Target, Range("A1:G12")) Is Nothing Then
r = Target.Row
For c = 1 To 12
arr(1, c) = Cells(r, c).Value
Next
With shtLog
.Range(.Cells(.UsedRange.Rows.Count + 1, 1), .Cells(.UsedRange.Rows.Count + 1, 12)) = arr
End With
End If
End Sub
(I'm on mobile so I can't provide a very fleshed out answer right now.)
I have written code to exactly this. My intent was to track all changes on a critical sheet edited by multiple users. If there was a dispute about where data came from, I could review the log. Here are VBA pieces that will come in handy.
Worksheet_Change
event will fire every time the worksheet is changed.
If Not Intersect(Target, Range("A1:G12")) Is Nothing
will tell you whether or not the cell(s) that changed are within some range you care about.
It's faster to store the values you want to log into an array and them set some range on your log sheet to be equal to that array as opposed to setting each cell on the log sheet individually.
Take a stab and see how far you get. I can be a little more verbose tomorrow.
Next Day Edit
Here's some code that will watch the range A1:G12
on whatever sheet has the code in it. If r
is the row that was changed, then the code will copy everything from Ar:Gr
into a sheet whose code name is shtLog
. (Code name is the name shown in VBA, not the name on the tab you see in Excel.) This should get you moving in the right direction.
Private Sub Worksheet_Change(ByVal Target As Range)
Dim r As Integer
Dim c As Integer
Dim arr(1 To 1, 1 To 12)
If Not Intersect(Target, Range("A1:G12")) Is Nothing Then
r = Target.Row
For c = 1 To 12
arr(1, c) = Cells(r, c).Value
Next
With shtLog
.Range(.Cells(.UsedRange.Rows.Count + 1, 1), .Cells(.UsedRange.Rows.Count + 1, 12)) = arr
End With
End If
End Sub
edited Jul 17 '15 at 13:22
answered Jul 17 '15 at 0:47
Engineer ToastEngineer Toast
2,9281828
2,9281828
Thank you very much! It does work, however, I have a small problem. When I run the macro I use data from sheet1 and I want to store them in sheet2. So the changes are stored in sheet2, but only the last change, not all previous. However, if change sheet2 to sheet1 in the code which means that I require the data to be stored in sheet1, all changes are regularly stored in sheet1, exactly below the table range that I give as input. Do you have any idea why this might happen?
– user470084
Jul 23 '15 at 19:00
add a comment |
Thank you very much! It does work, however, I have a small problem. When I run the macro I use data from sheet1 and I want to store them in sheet2. So the changes are stored in sheet2, but only the last change, not all previous. However, if change sheet2 to sheet1 in the code which means that I require the data to be stored in sheet1, all changes are regularly stored in sheet1, exactly below the table range that I give as input. Do you have any idea why this might happen?
– user470084
Jul 23 '15 at 19:00
Thank you very much! It does work, however, I have a small problem. When I run the macro I use data from sheet1 and I want to store them in sheet2. So the changes are stored in sheet2, but only the last change, not all previous. However, if change sheet2 to sheet1 in the code which means that I require the data to be stored in sheet1, all changes are regularly stored in sheet1, exactly below the table range that I give as input. Do you have any idea why this might happen?
– user470084
Jul 23 '15 at 19:00
Thank you very much! It does work, however, I have a small problem. When I run the macro I use data from sheet1 and I want to store them in sheet2. So the changes are stored in sheet2, but only the last change, not all previous. However, if change sheet2 to sheet1 in the code which means that I require the data to be stored in sheet1, all changes are regularly stored in sheet1, exactly below the table range that I give as input. Do you have any idea why this might happen?
– user470084
Jul 23 '15 at 19:00
add a comment |
The built-in "Track Changes" functionality will likely be far more robust than any change tracking you attempt to implement with macros. Stick with that.
the problem is that the "track changes" will provide a list of history changes which I have very little flexibility to manipulate. I would like for example to present the history in a different way so someone who looks at it can understand the evolution of the values of the cells through time...
– user470084
Jul 16 '15 at 16:47
add a comment |
The built-in "Track Changes" functionality will likely be far more robust than any change tracking you attempt to implement with macros. Stick with that.
the problem is that the "track changes" will provide a list of history changes which I have very little flexibility to manipulate. I would like for example to present the history in a different way so someone who looks at it can understand the evolution of the values of the cells through time...
– user470084
Jul 16 '15 at 16:47
add a comment |
The built-in "Track Changes" functionality will likely be far more robust than any change tracking you attempt to implement with macros. Stick with that.
The built-in "Track Changes" functionality will likely be far more robust than any change tracking you attempt to implement with macros. Stick with that.
edited Jun 14 '16 at 19:29
answered Jul 16 '15 at 16:42
PointerPointer
303211
303211
the problem is that the "track changes" will provide a list of history changes which I have very little flexibility to manipulate. I would like for example to present the history in a different way so someone who looks at it can understand the evolution of the values of the cells through time...
– user470084
Jul 16 '15 at 16:47
add a comment |
the problem is that the "track changes" will provide a list of history changes which I have very little flexibility to manipulate. I would like for example to present the history in a different way so someone who looks at it can understand the evolution of the values of the cells through time...
– user470084
Jul 16 '15 at 16:47
the problem is that the "track changes" will provide a list of history changes which I have very little flexibility to manipulate. I would like for example to present the history in a different way so someone who looks at it can understand the evolution of the values of the cells through time...
– user470084
Jul 16 '15 at 16:47
the problem is that the "track changes" will provide a list of history changes which I have very little flexibility to manipulate. I would like for example to present the history in a different way so someone who looks at it can understand the evolution of the values of the cells through time...
– user470084
Jul 16 '15 at 16:47
add a comment |
We (disclaimer, I'm the founder) built a audit trail system for Excel (like what Google Docs does, but for Excel). It doesn't require a shared workbook, and the audit trail is saved to a local SQL Database so it can be accessed from any workbook and saved as a separate sheet. Have a look: http://www.officeautomata.com
add a comment |
We (disclaimer, I'm the founder) built a audit trail system for Excel (like what Google Docs does, but for Excel). It doesn't require a shared workbook, and the audit trail is saved to a local SQL Database so it can be accessed from any workbook and saved as a separate sheet. Have a look: http://www.officeautomata.com
add a comment |
We (disclaimer, I'm the founder) built a audit trail system for Excel (like what Google Docs does, but for Excel). It doesn't require a shared workbook, and the audit trail is saved to a local SQL Database so it can be accessed from any workbook and saved as a separate sheet. Have a look: http://www.officeautomata.com
We (disclaimer, I'm the founder) built a audit trail system for Excel (like what Google Docs does, but for Excel). It doesn't require a shared workbook, and the audit trail is saved to a local SQL Database so it can be accessed from any workbook and saved as a separate sheet. Have a look: http://www.officeautomata.com
edited Sep 2 '15 at 22:57
answered Sep 2 '15 at 21:54
Jeremiah JeschkeJeremiah Jeschke
111
111
add a comment |
add a comment |
Building on Engineer Toast's answer, this logs the time and name of computer making the changes too. Note that the first row in shtLog must have content, otherwise the script will constantly overwrite row 2
Private Sub Worksheet_Change(ByVal Target As Range)
Dim r As Integer
Dim c As Integer
Dim arr(1 To 1, 1 To 26)
' Range to watch for changes
If Not Intersect(Target, Range("A1:Z200")) Is Nothing Then
' Get row that has changed
r = Target.Row
For c = 1 To 26
arr(1, c) = Cells(r, c).Value
Next
' Count number of rows in table
Dim rowCount As Integer
rowCount = shtLog.UsedRange.Rows.Count
' Set row to use
Dim rowToUse As Integer
rowToUse = rowCount + 1
' Insert date at the start of the row
shtLog.Cells(rowToUse, 1).Value = Format(Now(), "dd/mm/yyyy hh:nn AM/PM")
' Insert Computer nameto track whose made changes
shtLog.Cells(rowToUse, 2).Value = Environ("USER")
' Insert the new values in to this row
' Note the cols have shift by +1 to allow for the date
With shtLog
.Range(.Cells(rowToUse, 3), .Cells(rowToUse, 28)) = arr
End With
End If
End Sub
add a comment |
Building on Engineer Toast's answer, this logs the time and name of computer making the changes too. Note that the first row in shtLog must have content, otherwise the script will constantly overwrite row 2
Private Sub Worksheet_Change(ByVal Target As Range)
Dim r As Integer
Dim c As Integer
Dim arr(1 To 1, 1 To 26)
' Range to watch for changes
If Not Intersect(Target, Range("A1:Z200")) Is Nothing Then
' Get row that has changed
r = Target.Row
For c = 1 To 26
arr(1, c) = Cells(r, c).Value
Next
' Count number of rows in table
Dim rowCount As Integer
rowCount = shtLog.UsedRange.Rows.Count
' Set row to use
Dim rowToUse As Integer
rowToUse = rowCount + 1
' Insert date at the start of the row
shtLog.Cells(rowToUse, 1).Value = Format(Now(), "dd/mm/yyyy hh:nn AM/PM")
' Insert Computer nameto track whose made changes
shtLog.Cells(rowToUse, 2).Value = Environ("USER")
' Insert the new values in to this row
' Note the cols have shift by +1 to allow for the date
With shtLog
.Range(.Cells(rowToUse, 3), .Cells(rowToUse, 28)) = arr
End With
End If
End Sub
add a comment |
Building on Engineer Toast's answer, this logs the time and name of computer making the changes too. Note that the first row in shtLog must have content, otherwise the script will constantly overwrite row 2
Private Sub Worksheet_Change(ByVal Target As Range)
Dim r As Integer
Dim c As Integer
Dim arr(1 To 1, 1 To 26)
' Range to watch for changes
If Not Intersect(Target, Range("A1:Z200")) Is Nothing Then
' Get row that has changed
r = Target.Row
For c = 1 To 26
arr(1, c) = Cells(r, c).Value
Next
' Count number of rows in table
Dim rowCount As Integer
rowCount = shtLog.UsedRange.Rows.Count
' Set row to use
Dim rowToUse As Integer
rowToUse = rowCount + 1
' Insert date at the start of the row
shtLog.Cells(rowToUse, 1).Value = Format(Now(), "dd/mm/yyyy hh:nn AM/PM")
' Insert Computer nameto track whose made changes
shtLog.Cells(rowToUse, 2).Value = Environ("USER")
' Insert the new values in to this row
' Note the cols have shift by +1 to allow for the date
With shtLog
.Range(.Cells(rowToUse, 3), .Cells(rowToUse, 28)) = arr
End With
End If
End Sub
Building on Engineer Toast's answer, this logs the time and name of computer making the changes too. Note that the first row in shtLog must have content, otherwise the script will constantly overwrite row 2
Private Sub Worksheet_Change(ByVal Target As Range)
Dim r As Integer
Dim c As Integer
Dim arr(1 To 1, 1 To 26)
' Range to watch for changes
If Not Intersect(Target, Range("A1:Z200")) Is Nothing Then
' Get row that has changed
r = Target.Row
For c = 1 To 26
arr(1, c) = Cells(r, c).Value
Next
' Count number of rows in table
Dim rowCount As Integer
rowCount = shtLog.UsedRange.Rows.Count
' Set row to use
Dim rowToUse As Integer
rowToUse = rowCount + 1
' Insert date at the start of the row
shtLog.Cells(rowToUse, 1).Value = Format(Now(), "dd/mm/yyyy hh:nn AM/PM")
' Insert Computer nameto track whose made changes
shtLog.Cells(rowToUse, 2).Value = Environ("USER")
' Insert the new values in to this row
' Note the cols have shift by +1 to allow for the date
With shtLog
.Range(.Cells(rowToUse, 3), .Cells(rowToUse, 28)) = arr
End With
End If
End Sub
answered Mar 3 at 10:08
tim.bakertim.baker
125118
125118
add a comment |
add a comment |
With the Append feature of Sheetgo you can save keep a historic record of changing variables in Excel. More info in this blogpost: https://blog.sheetgo.com/how-to-solve-with-sheetgo/track-changes-in-excel-files/ (*disclaimer: I am a co-founder of Sheetgo).
add a comment |
With the Append feature of Sheetgo you can save keep a historic record of changing variables in Excel. More info in this blogpost: https://blog.sheetgo.com/how-to-solve-with-sheetgo/track-changes-in-excel-files/ (*disclaimer: I am a co-founder of Sheetgo).
add a comment |
With the Append feature of Sheetgo you can save keep a historic record of changing variables in Excel. More info in this blogpost: https://blog.sheetgo.com/how-to-solve-with-sheetgo/track-changes-in-excel-files/ (*disclaimer: I am a co-founder of Sheetgo).
With the Append feature of Sheetgo you can save keep a historic record of changing variables in Excel. More info in this blogpost: https://blog.sheetgo.com/how-to-solve-with-sheetgo/track-changes-in-excel-files/ (*disclaimer: I am a co-founder of Sheetgo).
edited Mar 3 at 15:29
Nisse Engström
21337
21337
answered May 3 '17 at 22:26
ChadChad
1
1
add a comment |
add a comment |
protected by Community♦ Jan 25 '18 at 23:42
Thank you for your interest in this question.
Because it has attracted low-quality or spam answers that had to be removed, posting an answer now requires 10 reputation on this site (the association bonus does not count).
Would you like to answer one of these unanswered questions instead?
Is there an Excel add-on for it?
– Eric Wang
Jan 17 at 2:38