Is it possible to share only one tab of a spreadsheet?

Is it possible to share only one tab of a spreadsheet and not all tabs?

Posted on Oct 8, 2014 8:45 AM

Reply
35 replies

Oct 10, 2014 9:38 AM in response to t quinn

How many tabs are you trying to share? How did you imagine you would do this in a perfect world?

In response to your question t quinn.... I imagined setting up many tabs (dozens, one for each clients) that all link to a data source tab. The client tabs would have formulas that only extract data relevant to them. I would insert the fresh data daily into the data source tab which would then update the client tabs with new information automatically. When each client tab is created a share link would be sent to the client that they can then check every day for fresh info. I would not want them to be able to view other tabs and other clients info though. I do not want to have to repeat this every day for every client. I wanted all to be updated with one import daily. That is what I envision as a perfect world.

Oct 10, 2014 10:01 AM in response to SGIII

SGIII wrote:


And which of those "superior" spreadsheet apps provide a convenient solution the particular problem posed in this thread? Specifics would help. Which ones allow efficient sharing and collaboration on just one sheet at a time while preventing the recipient from accessing the other sheets?


SG

None of them and I never suggested that they did.

Oct 10, 2014 10:21 AM in response to volsgc

Can you do this in Numbers?


Share the entire workbook. assign editing rights to the sharers. Use the sheet protection functions to block access to any sheets you dont want the sharers to access.


This (a) gives them access only to the sheet(s) you choose but (b) does it with dynamic data links (if present) functional.


This is based on Excel/LibreOffice functions, I don't know if either version of Numbers can do this but I would check.

Oct 10, 2014 11:04 AM in response to SGIII

In Numbers (either version) the sharing seems to be very basic (as far as I can see) so I would say no (but I am no Numbers expert). In Excel yes, very simply, once users are setup (one-time) you just pick them and share the book (permissions and protections are saved in the file). It seems to me that Numbers simply doesn't do what the OP wants, that leaves choice of changing what is wanted to something Numbers can do, or changing Numbers to something that can do what is wanted?


Unless you have a third option ..


My suggestion by the way was to check if it was possible in Numbers, because I make no claim to be a Numbers expert, merely a spreadsheet user.

Oct 10, 2014 11:21 AM in response to Csound1

In Excel I see I can easily protect a worksheet within a workbook to prevent editing. But I'm not sure how to hide a worksheet selectively so the recipient couldn't see it at all. I'd be a little nervous sharing a workbook with a particular client that also contained "hidden" sheets with data for other clients.


As you pointed out in one of your earlier posts, in Excel you can easily copy (or move) a particular sheet out to a new workbook. But that would (I think) be tough to do for dozens of worksheets (one for each client), even for Excel. In practice you would want a macro.


I'll respond separately to volsg's "dozens of tabs" post on a possible AppleScript approach that might accomplish what he wants using Numbers. Dozens of sheets, though, is a lot, tough to manage, I suspect. Unless each sheet is pretty small, Numbers may choke on that large a task.


SG

Oct 10, 2014 11:47 AM in response to Csound1

Yes, I was thinking along those lines too. I'll see if I can come up with an ApplesScript proof of concept that transfers data from a multi-sheet source document to multiple one-sheet documents that have already been set up and shared with respective clients. In theory not hard, but in practice dozens of sheets might be stretching the limits of Numbers.


SG

Oct 11, 2014 11:44 AM in response to volsgc

Here is an automated way to send data from individual client sheets ("tabs") in your source document to separate documents that you have set up and shared with specific clients.


It assumes you have created individual documents whose names match the sheet names in your source documents, e.g. in this example I have sheets named "Client1" and "Client2" and corresponding documents named "Client1.numbers" and "Client2.Numbers". It also assumes the data is in (and is destined for) the first table on each sheet, though this could be changed by changing the 1,1 parameters in the call to sendData(). As written the source and individual destination documents have to be open (though, at the cost of added complexity, it would be possible to tell Numbers to open them).


To use, just set up the source and target documents with the matching names , copy the script into AppleScript Editor, and press the green triangle run button.


Add sheet names as needed in the sourceSheets property, making sure to enclose them in quotes.


SG





-- sends data from specified sheets to separate documents already set up and shared


property sourceDoc : "MySourceDocument.numbers"

property sourceSheets : {"Client1", "Client2"}


repeat with aSheet in sourceSheets

sendData(sourceDoc, aSheet, 1, aSheet & ".numbers", 1, 1)

end repeat


to sendData(srcDoc, srcSht, srcTbl, tgtDoc, tgtSht, tgtTbl)

try

tell application "Numbers"

set t to documentsrcDoc'ssheetsrcSht'stablesrcTbl

set vv to t'srow'scells'svalue-- load values into list of lists

tell documenttgtDoc'ssheettgtSht'stabletgtTbl

-- to append instead of overwrite: remove first repeat loop and adjust the second loop to count from 1 instead of 2

repeat while row count > 2

remove last row

end repeat

repeat with r from 2 to count vv -- 2 skips header row

if r > 2 then add row below last row

tell last row to repeat with i from 1 to count vv's item r's items

set cell i's value to vv's item r's item i

end repeat

end repeat

end tell

end tell

on error

display dialog "Couldn't transfer data to '" & tgtDoc & "'. Check source and target names."

end try

end sendData

Oct 12, 2014 3:51 AM in response to SGIII

Hi SG,


Nice solution! I always admire the way that AppleScript can add to the power of Numbers.


Maybe another solution could be to use Numbers to create a "reusable" print sheet. Because we don't have details from the Original Poster on the design of the document, I have had to imagine what the document might contain. Here is an example.


List of clients in a table (astutely called 'Clients')




Client

Greet

Client #

Address

Smith, J

John

1

99 High St, Mytown

Smith, F

Fred

2

1 Low St, Anytown

Jomes A

Albert

3

33 Middle St, Thistown

Jones, J

Jim

4

49 Upper St, Thattown



Input of transactions in another table called (you've guessed it) 'Input'.




Date

Client

Transaction

$

16 Sep 14

Smith, J

Deposit paid

$500.00

1 Oct 14

Smith, J

House plan fee

-$800.00

2 Oct 14

Smith, J

1st Payment

$100.00

5 Oct 14

Jones, A

Site inspection fee

-$100.00

5 Oct 14

Smith, J

2nd payment

$200.00

6 Oct 14

Smith, F

Hire of Bobcat

-$400.00

7 Oct 14

Smith, F

Paid in Full

$400.00

Company Balance



-$100.00



For the purpose of this example, both of those tables are on the same sheet (tab).


New Sheet called 'Print Me' with a table called 'Report'. Here is a report to Smith, J using INDEX and MATCH as a versatile lookup function.


My cheat sheet for INDEX and MATCH:

=INDEX(Column I want a return value from,MATCH(My Lookup Value,Column I want to Lookup against,Enter “0″ ))




Client

Client #

Address

Smith, J

1

99 High St, Mytown

Dear John,

Here is your invoice.



Balance= $-100





Enter a Client name into A2.

As a-check on anonymity, B2 will confirm the Client # with

=INDEX(Clients::C,MATCH($A2,Clients::$A,0))


As a double check on anonymity, C2 will confirm the address with

=INDEX(Clients::D,MATCH($A2,Clients::$A,0))


A3 contains the message starting with

= "Dear "&Clients::B2&",

Here is your invoice."


'Option enter' places a soft return (newline) after 'Dear John,'


A4 contains the balance

="Balance= $"&SUMIF(Input::B,A2,Input::D)


Save the document!


The quickest way I can think of to preserve the values ("fix" them so that they are independent of other sheets) is to follow quinn's suggestion of Menu > File > Print... > Print... > PDF > Save As PDF.


The 'Print Me' sheet is now available for another client. Enter another Client name into A2.


Regards,

Ian.

This thread has been closed by the system or the community team. You may vote for any posts you find helpful, or search the Community for additional answers.

Is it possible to share only one tab of a spreadsheet?

Welcome to Apple Support Community
A forum where Apple customers help each other with their products. Get started with your Apple Account.