2017-04-12 1 views
-2

워크 시트에서 모든 Excel 수식을 가져와야합니다. Range.SpecialCells를 사용하고 수식을 얻기 위해 각 셀을 반복하고 실제로 느린 것입니다. 수식 만 목록으로 가져 오는 더 좋은 해결책이 있습니까? 문자열의?Excel 수식 읽기

샘플 코드 :

Excel.Worksheet worksheet = Workbook.Worksheets["Sheet1"]; 
Range range = worksheet.UsedRange.SpecialCells(xlCellTypeFormulas); 
foreach(Cell cell in range.Cells) 
{ 
    string formula = cell.formula.ToString(); 
    //some code 
} 
+0

검색, 완전하고 검증 가능한 예제] (http://stackoverflow.com/help/mcve) –

+0

@MattRowland가 코드로 업데이트되었습니다. –

+0

느린 이유는 없습니다. 당신이 제공 한 스 니펫에 문제가 있다고 확신합니까? –

답변

0

당신은 range.formula 속성을 사용하려고 할 수 있습니다. 예를 들어

는 :

셀 A3에서

셀 수식은 '= DATE (D3, C3,1)'셀 B3에

는 셀 수식 '= A3'

인 변수 C는 세포 s의 목록과 같은 종류의 포함

Range r = activeWorksheet.get_Range("A3","B3"); 
var c = r.Formula; 

: 코드와

그 범위와 그들의 각각의 공식에 명시되어 있습니다. C의

출력 :

[1,1] = "= DATE (D3, C3,1)"

[1,2] = "A3 ="

0

이것은 전혀 다른 방법이지만 도움이 될 것입니다.

CRTL +`(backquote)를 누르면 Excel의 모든 수식이 표시됩니다. 그런 다음 원하는 내용을 검색하거나 붙여 넣기를 txt 파일로 복사하여 검색 및 수정 작업을 수행 할 수 있습니다. 그냥 공식 내에서 일부 문자열을 검색하는 경우

, 당신은 수식 CTRL + F 선택 모양을 사용할 수 있으며 SO 최소 와 특정 문제를 [주시기 바랍니다 코드 작성 서비스가 아니며 문자열