I have this excel sheets + a vba part with 3 forms that interacts with the sheets (read/write data, xml export, etc).
I have some data verification in my forms' code, so I would like to be able to modify values in the sheet only through the forms, not through direct "on-the-sheet" editing
Is that possible?
When I lock the cells I want to protect, the forms cant modify the cells anymore either...
in other words, is there a way to prevent editing, except through the macros/forms?
I am using excel2007 and might have to make it compatible for excel2003.
Maybe you can unlock the cells from the code just before modifying them, and then lock them down again after? Not very elegant I know. Maybe you could also hide the sheet from the user. I'm sure there is no perfect protection, because ultimately the user can turn VBA/Macros off. Question is how much you want to protect the data.
Is Microsoft Office Infopath available to you and your users as an alternative to Excel?
This is very specifically a "forms" application, with data validation and native XML data storage format so other apps can easily process them. You can use your own schema if you want. From your description, this sounds like what you want to accomplish.
Unfortunately, Infopath 2007 forms are not cross-compatible with Infopath 2003, so a mixed-version office (like mine) can be a showstopper.
Related
I want to know if it is possible for multiple users of one excel file , to update data and view this file. If so then how?
I spoke to Microsoft about this exact situation, and it turns out that the only way in Excel to have multiple users editing an Excel file at the same time is by using Excel Online. Unfortunately, that means that macros, VBA, active-x controls, and the like are not an option. If the file is checked out or you want to use the full-functionality of Excel from your computer you are out of luck.
I have a list on Sharepoint,and I would like to update that list from any excel sheet/file I create "Having same formatting of course". Can I achieve that? I know that you can create a List on sharepoint from an excel sheet "Table Format" but I couldn't find any solution to sync sharepoint list from any excel sheet. Shall I do some scripting to achieve that ? I'm using Excel 2010 and Sharepoint 2010
Do you need to actually do any further interactions with the SharePoint list?
If not, a solution could be to just display the excel sheeet as a Range within a page. https://msdn.microsoft.com/en-us/library/office/ee556820.aspx
Don't think you get my point. Suggesting that you do not use a list at all. Just display the excel sheet directly.
If you do need to update a list from excel, you must use scripting of some kind. Question is if you can call the script from within excel, or it must happen when uploading the excel sheet.
Perhaps if you tell the complete scenario, it is easier to help.
Since I need further interaction with the list, I have decided to go with Access, which provides an out of the box solution. Simply create a blank database and link it with the desired list on SharePoint and that would be it.
I work for a fairly large hospital in their Decision Support Department. We have several tools at our disposal for querying data, but our way of distributing the information could use some work.
We typically run our query and then copy and paste the data into Excel. From there we create graphs and crunch some numbers before sending the Excel file out via email.
We've recently been given access to our own Sharepoint site and so far it looks promising for document distribution. What I'm wondering though is this; what kind of functionality is built into Sharepoint for building reports that run automatically.
It would be great to take a whack of our monthly query to Excel reports and set them up to run automatically via Sharepoint.
I did some reading about Sharepoint lists and that seems promising, but I thought I'd ask here for the best way to go about this - provided it's even possible.
I guess a good first step would be how to create a report in Sharepoint?
I'm going to assume you're using Sharepoint 2013 and Office 2013.
You have a couple options available to you with Excel and Access. Both methods I'll briefly describe can be automated. In either case, you will need Lists, as they can connect to Excel and Access as tables.
For the Excel route, simply choose the "Export to Excel" option in a SharePoint list. This will create an Excel version of your list, but it's more than a static workbook--that workbook retains a one-way link from SharePoint to Excel, so you can refresh the spreadsheet to reflect the most up-to-date version of your SharePoint list. Furthermore, you can link multiple Lists to a single workbook--you'll have to export each list to Excel individually, but each worksheet will still retain its link to its respective list after you consolidate the spreadsheets into a single workbook. You can save this workbook wherever you like, it'll still keep the link. I personally like to set my linked workbooks up with macros that automatically refresh the spreadsheet whenever file is opened, but that's just me. The reason you might consider this option would be to avoid having to recreate the work of creating graphs and whatever other analytics you're doing--you may well be able to set yourself up such that the graphs and analytics pull live from the table that's coming in from SharePoint.
*Do note that changes you make to list data in Excel isn't sent back to SharePoint--this is done to protect your list.
For the the Access route, you can import a list into Access as a table. This option creates a dynamic link to your SharePoint list the same way the Excel option does--the link is one-way and what you do in Access won't be sent back to SharePoint. You can create queries and reports as you normally would after the table is imported.
I have an Excel table with data but here the rows and columns each have meaning, for example:
ColHead1 ColHead2 ColHead3
RowHead1 Data11 Data12 Data13
RowHead2 Data21 etc. etc.
RowHead3
I would like users to edit the data using SharePoint forms.
I've considered the following options
Flatten the data and manually add editors for each field onto the form (so that I can simulate some sort of grid layout). This may become unmanageable if I need to make a change though.
Insert the data into a list and let SharePoint create a default form, but this will also flatten the data.
Is it possible to somehow use the data in SharePoint directly in a List (or lists) without flattening?
Or should I just post the Excel sheets for direct editing in SharePoint?
You are right. 2-D data cannot be handled by SharePoint.
The best solution here would be to use Excel Services.
In 2007, Excel Services did not allow to write changes to backend file. I am not sure if the situation has changed with SharePoint 2010. You might have to check it out.
You can also put Excel file in document library itself.
However, what I am missing here are the business objectives for this requirement. What essentially do you want to achieve by putting this data in SharePoint forms ? May be there is some better way which others will be able to suggest if they know actual requirements.
I have office 2003, and i have develop a database from ms access 2003.
What i want is to link ms excel and ms access so as when am updating either of them both will be updated
I know that from within Access, you can add a "linked table" with an Excel worksheet as a data source. This will cause the data in the Excel sheet to show up as a table in Access. When you make changes to the data in Access, the data in the underlying Excel sheet will change. Also, if you open up the Excel sheet and change the values in one of the rows, the change will be reflected when the link in Access is refreshed.
However, there can be issues when trying to link Access and Excel together. You may not be able to edit the same document from Access and Excel at the same time. Also, if you add additional columns or rows to your source data in Excel, you may have to completely re-link the table in Access.
If you are the only user of both the Access application and Excel sheet, you can develop a fairly robust solution using this method. However, you have to be careful with trying to deploy a solution like this with multiple users because you may start to get issues with multiple people trying to edit the same document at one time. At this point, you may need to look at more robust solutions involving a database or SharePoint backend.
As Ben said in his answer it is possible but can easily lead to problems in a multi user environment. I would suggest keeping the data in access and pulling it from excel. Or revisiting if excel is needed at all to update the date (read only reports would be ok)