programing

VBA에서 수식을 삽입할 때 다른 언어 문제 발생

abcjava 2023. 9. 8. 21:03
반응형

VBA에서 수식을 삽입할 때 다른 언어 문제 발생

내가 만약 내가 다음과 같은 명령을 사용한다면, 내가 정확하게 이해하겠습니까?

Set myRange.formula = “=ROW(mySheet!R12)” 

내 매크로가 원인이 될 것입니다.#NAME?예를 들어, 러시아 엑셀에서 실행되는 경우 셀에 오류가 나타납니다.이 경우 위 수식은 다음과 같이 하드 코딩되어야 한다는 것을 의미합니다.

Set myRange.formula = “=СТРОКА(mySheet!R12)”

여기서 срка는 SUM 함수의 러시아어 아날로그입니다.엑셀이 런타임으로 수식을 번역할 정도로 똑똑하리라고는 기대하지 않습니다.그렇다면 이를 해결할 수 있는 방법이 있을까요? 그리고 가장 중요하게, 언어에 관계없이 매크로가 올바르게 작동하도록 만드는 가장 일반적인 코드는 무엇일까요?

VBA는 매우 EN-US 중심적입니다.VBA의.공식.공식 R1C1ROW 함수를 기대합니다.To use regional language function 'flavors' like СТРОКА then the Range.formulaLocal 속성 또는 범위입니다.대신 formulaR1C1로컬 속성을 사용해야 합니다.

목록 구분 문자에 대해서도 마찬가지입니다.쉼표를 사용합니다(예:,를 사용할 때 함수의 인수를 구분합니다.공식 또는.시스템 지역 설정에 관계없이 FormulaR1C1.시스템에서 세미콜론을 사용하는 경우(예:;목록 구분 문자로 이 문자는 와만 사용해야 합니다.FormulaLocal 또는 .공식 R1C1로컬.

워크시트의 결과는 Office 설치의 언어 설정을 적절하게 반영합니다.

myRange.Formula = "=ROW(mySheet!$12:$12)"
myRange.FormulaR1C1 = "=ROW(mySheet!R12)"
myRange.FormulaLocal  = "=СТРОКА(mySheet!$12:$12)"
myRange.FormulaR1C1Local= "=СТРОКА(mySheet!R12)"

언급URL : https://stackoverflow.com/questions/35724156/different-languages-issue-when-inserting-formula-from-vba

반응형