2017-08-18 4 views
1

、特定のセルにセル(「CD」)から値を参照するためにしようとしたのOpenOfficeで正常に動作しなくMSの作品はこのブックで1つ以上の無効な名前が検出されました。 「1つ:これらの無効な名前が#REF

for() { 
     Name houseHoldRelationNamedCell = workbook.createName(); 
       houseHoldRelationNamedCell.setNameName("name"+ loopCounter); 
     houseHoldRelationNamedCell.setRefersToFormula("$"+ CellReference.convertNumToColString(hiddenCellColumn) +"$1"); 

    DVConstraint constraintHouseholdRltn = DVConstraint.createFormulaListConstraint("name"+ beneficiaryRelationVO.getId()); 
    CellRangeAddressList addressListHouseholdRltn = new CellRangeAddressList(row, totalRows, column-1, column-1); 
    HSSFDataValidation validationHouseholdRltn = new HSSFDataValidation(addressListHouseholdRltn, constraintHouseholdRltn); 
    validationHouseholdRltn.setSuppressDropDownArrow(false); 
    sheet.addValidationData(validationHouseholdRltn); 
loopCounter++; 
} 

ExcelのエラーをExcelに変更されましたこのブックで無効な名前が検出されました。これらの無効な名前は#REFに変更されました!

Excelで '数式' - > '名前マネージャー'は有効な名前+ 'loopCounter値'を表示しますが、参照値は '=#NA!'と表示されます。

+0

どのMS EXcellバージョンですか? –

+0

@SubinCPoonamgode ms excel 2013 – akhilsk

答えて

3

あなたのコードを見てください。私はあなたが$CD1$(CDはsheetnameなしのサンプルセルアドレスです)だけを使用していることに気付いています。

名前がグローバル(シート参照なし)である場合、OpenOffice Orgでは「現在の」シート(名前への参照)が想定されます。 MS Excel 2007+はこれをしません。シート参照番号(Sheet1!name)が必要です。

コードは次のようになります。

houseHoldRelationNamedCell.setRefersToFormula("'sheetname'!$"+ CellReference.convertNumToColString(hiddenCellColumn) +"$1"); 
関連する問題