Jun 29 2020 02:20 AM
Jun 29 2020 02:20 AM
I need to paste data from 1 sheet to multiple sheets so,
I have a list on sheet 1 each item on sheet 1 goes to the same location on different sheets.
On sheet 1, cell A1 copies to sheet 2, cell A1 but the data for sheet 3 cell A1 data comes from sheet 1 cell A2
I know I can do this 1 at a time but is there a short cut to do multiple?
Jun 29 2020 04:43 AM
Could you give a bigger picture of what it is you're doing?
That is, don't just repeat what you've said, but describe the context: what is the underlying goal or objective being served by your series of sheets?
The reason for asking that is that there are often multiple ways to accomplish things in Excel; what makes sense in a particular case will often depend on the bigger picture. What kind of information is it that you're working with? What's in the various rows on Sheet 1; what differentiates the data in cell A1 from the data in cell A2 and so forth?
If it's possible, without disclosing any confidential information, could you post a sample of your workbook?
Jun 29 2020 06:03 AM - edited Jul 02 2020 04:15 PM
@Headmelted So I assume you are trying to do something like A10 = A9 + previousSheet!A10. But there is no way to reference something like thisSheet-1 in a formula. Some options you have include VBA or lookup list for sheet names.
Using VBA you could do a number of options but here is simple one [EDIT: changed this to be "Volatile" so it auto-calculates and doesn't require you to select the cell]:
Function pSheet() On Error GoTo E Application.Volatile With Application.Caller.Parent pSheet = .Parent.Sheets(.Index - 1).Range(Application.Caller.Address) End With Exit Function E: pSheet = "N/A" End Function
then you just use =A9 + pSheet()
But if you are not comfortable with VBA (I highly suggest you learn) or prefer to avoid macros to make the sheet more universal and not have issues with permissions you can also do this using a look up table.
So on another sheet let's call sheetNames you list off the names of all the sheets in column A
then use an indirect function like the following to in this case add A9 on this sheet to A10 on the previous sheet:
=A9 + INDIRECT("'"&INDEX(sheetNames!A:A,SHEET()-1)&"'!A10")
Jun 29 2020 08:24 AM
Thank you for illustrating my point that there are multiple ways to do things in Excel. [smiley face]