How to crack an Excel workbook that looks up values? - excel

Alright I know this isn't 100% related to programming (the Excel book in question doesn't use VBA at all) but I'm hoping someone can help me out with this or point me in the right direction.
My boss got a spreadsheet from a vendor that has a combobox/dropdown list with various part numbers; when you select one it populates the rest of the form with a lookup containing additional items. I've been tasked with "cracking" this and finding the list that they're using to populate so we can make use of it.
The thing is... there's no VBA code, no macros, no data connections, and only one Worksheet displayed in Excel while the lookup code references a Sheet1. I've tried to display hidden worksheets and it says there are none... so where on earth could this list be kept? My boss is getting impatient and is asking me if I've broken it yet. It's not a big deal if it can't be done, I just have no clue where to continue looking for it and I don't know what to tell my boss when he asks me if I'm done.
Can anyone help?

It's possible to hide a worksheet using VBA so that it can't be unhidden from the UI.
Try the method for un-hiding all hidden workhseets outlined here:
http://www.automateexcel.com/2004/12/14/excel_vba_unhide_all_worksheets/

My guess is that it is a Data Validation list which references a constant list of values or a range on a "Very Hidden" sheet. In Excel 2007, select one of the cells with the drop-down, click on the "Data" tab in the Ribbon, click on "Data Validation" in the Ribbon and see what you have. In Excel 2003 it is the Data -> Validation... command.
Another possibility if you know the name of the worksheet is "Sheet1" is to add a new worksheet, enter "=Sheet1!A1" into cell A1 of the new worksheet, and copy this cell down and to the right for as large of an area as you need to see the data you are interested in.
If you can post a URL to download the workbook (assuming it is not a trade secret) you would be more likely to get an accurate answer.

Could it be some data stored on the same sheet.
Possibly in columns which are either hidden, or which are far off the actual page?

Isn't this just data from the worksheet only?
Column header dropdown lists acts as filters, they show distinct values of a column.
This is a feature of Excel.

The items could be cached from a currently unavailable resource. Try saving it out to xml and searching for a known string.

Click on the cell that display a drop down list when selected
From the menubar select data>validation
In the dialog box copy the content of the source text box
Now paste the content on any empty cell on your worksheet
Select a drag it down to see the values populating the list
Chris
------
Convert your Excel spreadsheet into an online calculator.
http://www.spreadsheetconverter.com

I am assuming that you have broken this by now, but just in case you havent. This is certainly a case of data validation using a named range which is house on another sheet that was designated "very Hidden" from the vba console. You will need to open up the VBA project of this worksheet and designated the "very Hidden" sheet to just Hidden and then you will be able to unhide it, or the other setting at which point it will be viewable.

Related

Use common dropdown across multiple worksheets to change single cell

I have a large file with a Scenario Manager, where changing a single cell on the Summary worksheet changes the visible scenario throughout the rest of the workbook. Data Tables are working a treat providing the headline values for each option.
I'd like to have a drop down on each sheet that when changed will change the same single cell on the Summary worksheet, so I don't need to go back to the Summary sheet every time I want to switch visible scenarios.
This is a simple process if I'm using macros and would be the solution I'd normally jump straight to. But this needs to be done without macros and this is where I'm now struggling.
Does anyone know if this is possible (without macros) and point me in the right direction?
Josh
You can insert combo box (Developer Tab > Insert > Form Controls > Combo Box) on each sheet. Mention linked cell as a cell of the summary sheet (Absolute reference with sheet name). That cell will give you index of the item selected in the drop down list. Then you can insert index formula in the cell you want to change every time to get value of the drop down list. Once you insert it on one sheet you can copy it to other sheets. No macros required.

Copying data from a dropdown menu to a seperate sheet as a report using VBA

Complete beginner with VBA and I think I'm doing something majorly wrong.
So context;
Creating a user friendly sheet to do checks on items etc. To keep it as simple as possible for other people I've decided to use drop down menus to input the majority of the data and tick boxes to say when the check has been done.
From here I want to add a big old button that will transfer the data from the cells, dropdown menu and tick boxes to another sheet or workbook.
I would also need the sheet or workbook to place the date the checks were done and create a new line with the information. So that I can look at a single sheet and see the wear and tear on the equipment in one form. (layout of this can be sorted out after wards just how to get it to go to a blank line etc.)
And finally to save the document.
drop down information is linked from another sheet within the workbook.
Now I've tried some code to work it out myself and it either doesn't copy the data as the cell is blank (drop down menus) or it just shoots up an error on the VBA page.
Could anyone assist in helping me work this code out? Even if its just the command syntax's that I would need to use.
Thanks in advance
Peter

Check or Uncheck Checkbox based on Cell Value in Excel

I am trying to figure out if it is possible to check or uncheck a checkbox based on a value in a cell.
I have a userform that gets filled out and adds new lines on a worksheet with the relevant information gathered from the userform. I want to be able to search for a particular entry and fill out a neat created form on a excel worksheet (not a userform) using the gathered information. In this form I want to use checkboxes instead of cells to keep it neat and professional.
The reason I am doing this into a worksheet form instead of a userform is to be able to print the form into a PDF document. As far as I am aware it is not possible to print a userform into a PDF document.
If it is working the worksheet form should have checkboxes checked if TRUE is found in the cell from that particular data entry. I can't link a specific cell since it needs to find the correct cell based on the search entry.
Following on the comments... #Tom is correct, you can simply link the combobox to the cell in question.
Insert combobox:
Then simply enter the cell reference in the formula bar you want to link it to. Namely:

Missing DataValidation DataSource

I am working on an excel spreadsheet. I have a dropdown with values. I need to add a value in there.
There is no macro and there is no connection. The only thing I found was:
I selected the cell at hand
Data -> DataValidation
In the source i can see this string =Variables!$D$1:$D$23
I do not have a sheet called variables or anything close to the word variables in any of the sheets. Where can this be coming from?
There is also protection on the workbook but not the individual sheets. Could this be the issue?
Thank you
You can usually check the contents of a hidden sheet quite easy using the Immediate Window.
So open the VBA editor (Alt-F11), go to the Immediate window (Ctrl-G), and try:
?Variables.[D17]
If this works, you can repeat this to see the other 22 validation values (or write a small sub, using Debug.Print ubstead of ?).

Benford's Law in Excel

I have a large data set, and I was hoping to test it against Benford's Law.
So far, I have been extracting the first digit, and creating a chart based on that
=LEFT(A1,1)*1
I multiply the formula by 1 because LEFT turns the digit into a string.
I was hoping to automate this procedure. Is there a way to do this with VBA or a simpler/more elegant formula for this?
Here's a thought.
Let's assume your data is in cells A1:A100 and your workbook is named "Benford".
Using the Name Manager on the Insert tab of the ribbon, create a new named range, say, "digits", defined as =VALUE(LEFT(A1:100,1)). The Name Manager will automatically treat the result of this equation as an array.
Insert a chart into the workbook without selecting a data range. The chart will be totally blank.
Select the chart and then in the Chart Tools tab, press the 'Select Data' button.
When the 'Select Data Source' dialog box opens up, again do not specify a data range, but instead click on 'Add Series'.
In the 'Edit Series' box that comes up, set the 'Series value' to =Benford!digits. The workbook reference is important: Excel won't accept the bare defined name here.
If initially the data does not show on the chart, just manually recalculate the sheet with the F9 key.
You can then add titles, axis labels, etc., as needed.
This can be automated via VBA; whether that makes sense depends on your needs.
I'm sure you can use Google as well as anyone. I searched for "excel formula for benford's law". I'm pretty sure the first result is what you are looking for.
Here's the link:
http://www.isaca.org/Journal/Past-Issues/2010/Volume-1/Pages/Using-Spreadsheets-and-Benford-s-Law-to-Test-Accounting-Data1.aspx
It covers testing lead digits, how to use benford's law and some useful do's and don'ts. This should get you most of the way.
FYI - the ISACA is an auditing standards organization. Their content is designed to be useful in professional applications.
Good luck!

Resources