#REF Excel Error Add-in - excel

I have an Excel Addin that generate data from database.
after loading data on sheet (sheet1) , I write excel functions(in sheet2)depending on that data , at the beginning it works great, but when I re-exrcute my function(sheet1)and then refresh the sheet2 I get the #REF error !!
=+MAX(SUM(Table1[[#ALL];[column1]]);SUM(Table1[[#ALL];[Column2]))

Invalid cell reference errors occur when a spreadsheet formula contains incorrect cell references. This happens most often when:
Columns or rows containing data used in the formula are accidentally deleted.
A formula has been moved or copied to another cell and the cell references are incorrect.
Data used in a formula has been moved, leaving the function or formula with incorrect cell references
You need to go through it and find the error I'm afraid manually.
Is generating data operation generate same line count every time? If second generating operation generates less then first generation, your function couldn't find lines at the end and generate #REF error.

Is the table name changing when you run the add-in to generate data from the database? Your formula references Table1, but it is possible that the table name changes when you re-generate it using the add-in.

Related

How to fix #REF! error on COUNTIFS whenever reference spreadsheet changes

Is there a way to fix #REF! error on COUNTIFS formulas when the reference spreadsheet gets replaced? For instance, I receive a new master spreadsheet in a different file every month. Using COUNTIFS, I created a table to count with specific criteria based on a master spreadsheet. When I receive a new file, I make a copy of the master spreadsheet and move it to the original file with the table. The old spreadsheet is deleted. The new spreadsheet is under the same name. However, the reference in COUNTIFS breaks and #REF! error occurs.
If there isn't a change to the masterfile, can you just do a data dump and copy/paste the new data over the old? This will prevent the original sheet from being deleted and causing the reference error. Another option would be to copy/paste the formulas over to the new mastersheet so the formulas are preserved.

Reference another Excel Worksheet via a Keyword

I am not sure if this is too ambitious. Currently I'm generating a bunch of pivot tables through our server (I won't go into detail) but our main stocktaking spreadsheet references these generated pivot tables weekly and pulls their figures through.
i.e using code ='C:\Users\ITS1\Documents\Test\Establishment\190303[Stocktake.xlsx]Data4'!$D$3 which is simple enough - just referencing whatever figure is in that cell on the pivot table.
There is a particular bunch of figures on some pivot tables each week called 'Redemption' which, depending on what other kind of sales an establishment generates, shift to different cells each week. So I can't reference them like other figures which are always fixed to the same cells on every generated pivot table.
Is there a way I can reference the pivot table by the keyword 'Redemption' and take the figure from the cell directly next to it which is the actual figure we need to record?
While this isn't hugely urgent, it would be quite handy. These figures can just be manually entered but just trying out some automation to eliminate my human error :)
If you don't want to have to open the external workbook, this approach might be feasible:
In the external workbook, create a helper sheet that uses a formula to look up the Redemption field value. This could possibly be done with a GetPivotData formula. The exact formula depends on your data and without seeing that I can't write it.
The idea here is that the helper sheet and the location of the cell on the helper sheet does not change. When the pivot table is refreshed, the formula calculates the result.
In the other workbook you can now use an absolute reference to that helper sheet and cell and don't need to open the external file to retrieve the value.

Locating Lost Excel Macro Formula From Old Data Sheet

I'm resurrecting some old scientific data from the early 2000s.
I need to locate the custom functions that allowed the data to be shown. The spreadsheet that I have is full of #REF! cells, as they are supposed to be calculated based on a custom-defined formula (here, called 'RESECTION').
How do I find this formula? If I can see the math it was performing, I will be able to use this old data, and extend our timeseries significantly.
The spreadsheet is an ".xlsm" document. There is an associated file that is ".XLM"; it provides some GUI-like functionality that is now broken, and I do not see how to access the commands (?) or other VBA that is inside.
I have not had success with this solution.
File with the VBA can be found here; SURVEY.XLM.
Problem is seen here; calling function from SURVEY.XLM. How do I access the formula within here?
I can see that the formula is in there; how do I see the calculation it performs?
RESECTION is a named range refering to cell A4 on the hidden Survey sheet.
In the VBE immediate window type thisworkbook.Sheets(2).visible = true and then thisworkbook.Sheets(2).select.
Cell Survey!A4 contains the value =RESULT(64).
The rest of the sheet contains the macros - first time I've seen or tried to use a filled in macro sheet.
I tried Ctrl+Fto find the definition of RESULT but it comes up with Macro error at cell [SURVEY.XLM]SURVEY!A364.

Excel #ref error: Occurs when data is refreshed

I have made a connection in excel to another excel workbook, using the native functionality found under the data tab in excel. I imported the data into my "Main" excel workbook from the "Other" workbook by Selecting Data->existing connections and then opening the relevant sheet. This allowed me to link the data from my other workbook to my Main workbook.
My issue is when the data in the Other workbook is changed i received a #ref error in my Main workbook. The formulas i use on the imported data are pasted in a separate sheet (i tried pasting it next to the imported data as well). Note: i paste the formulas from row 1 - 500 for the respective column, so that when the data is imported the formula automatically populates the cell with the correct value. When i refresh the data (i.e when data has been changed in the Other workbook) It seems as the formulas i have copied down do not reference the correct cell anymore.
I have tried using an indirect but to no success.
This is what the formula i use looks like
=IF(INDIRECT("A"&ROW(#REF!))<>"",VLOOKUP(INDIRECT("A"&ROW(#REF!)),'Safex Codes'!$A$1:$H$1000,8,0),"")
However when the data is refreshed "SOME" of the rows in the column the formula is in return this formula
=IF(INDIRECT("A"&ROW(#REF!))<>"",VLOOKUP(INDIRECT("A"&ROW(#REF!)),'Safex Codes'!$A$1:$H$1000,8,0),"")
This occurs everytime i refresh the data. What is strange is that at the end of my data, hence the last time the formula is being called, the referencing to the correct row is completely off.
For example in row 28 i would expect the above formula to reference a28, however i receive
=IF(INDIRECT("A"&ROW(A24))<>"",VLOOKUP(INDIRECT("A"&ROW(A24))
I'll bet that you're having the same issue I was. When the number of rows in the data range changes, the unused cells previously populated with data are deleted. The formulas that referenced those deleted cells no longer have references to them because they've been deleted (hence the #REF errors).
You can change Excel's behavior with respect to handling new or unused rows using the Properties menu on the Data tab.
In that menu, take a look at the section labeled "If the number of rows in the data range changes upon refresh." I'm guessing you have the first option checked. Try the third option.

XSSF saving workbook

I am using XSSF to create a workbook and continually getting this error:
Excel found unreadable content in 'thefile'.xlsx. Do you want to recover the contents of this workbook? If you trust the source of the workbook click Yes.
Excel then obligingly recovers it by removing all of the data and gives the detail error report:
Removed Records: Cell information from /xl/worksheets/sheet1.xml part
I am following these principles:
Ensure the row is created and not null.
Ensure the cell is created and not null.
Ensure the cell is the correct type.
Write to cell.
Is there something I am missing, eg is it permissable to have only certain cells written to in a row eg:
|null|null|write something here|null|null|
and the same with rows:
row with content
null
row with content
or do I need to ensure the all rows and columns are filled blank through the ranges used.
This is a complete mystery.

Resources