2016-12-14 4 views
0

다른 워크 시트를 인용 지금은이 문제에 끼 었어 동안 셀에 입력 된 수식 : 어떻게 잠시 동안 VBA를 사용하고있다

이에 ... 나는 A, B, C, D, E가 말 워크 시트와 같은 각 셀의 이름 & & 이름이 일치하는 100 %의 각 시트의 이름 (시트를 A, B, C ...) 따라서

어떻게 = 같은 형태로, COL2에 입력 화학식 VBA를 사용합니까 '시트 이름 ! '$ B $ 2 (셀 주소)? 식 내부의 시트 이름이

는 일반적으로 VBA는 값을 반환 COL1 (& & 각 워크 시트의 이름)에 해당하지만 수식이 시간을 인쇄하여 참조가 필요합니다.

---- ---- COL1 COL2

R1-- A = 'A! $ 2 $ B

R2-- B ='B! $ 2 $ B

R3--의 C = 'C! $ 2 $ B

R4-- D ='D! $ 2 $ B

R .- ... = '...! $ 2 $ B

실제 사례에서 워크 시트 이름 전자는 구조화 된 편지가 아닌 매우 엉망입니다. & num,

귀하의 조언은 대단히 감사합니다! 고맙습니다!

내가 내 질문에 더 잘 설명 할 것이다이 사진을 추측 :

overview worksheets

가 어쨌든 삽입 이미지 yet..but 캔트 보인다 ... 그래서 내 목표는 : 이름하지 1.Get 이름 (C) 열에서. 2. Supplier (D) col에 수식을 기입하십시오. = '(Col.C의 이름)'$ B $ 2

참고 :!. col.C의 이름은 워크 시트에 해당합니다 (picture2)

* 내 원래 계획은 다음 각 wrksheet를 들어

분명히

If wrksheet.Index >= 10 Then 

     sheetname = wrksheet.Name #1 pass wrksheet's name into sheetname variable 
     sum.Cells(i, 4).formula = "='sheetname!'$B$2" #2 input current worksheet's cell(B2) and print into worksheet sum's cell(i,4) 

    End If 
    i=i+1 

워크 시트

그러나,이 트릭 (# 2) 가 어떻게 워크 시트의 이름을받은 후 I에게 자동 쓰기 식을 .... 작동하지 않는 이유는 무엇입니까? 희망이 있으십니까?

=========================== 하위 수식)

Dim s As Worksheet, w As Worksheet 
Set s = Worksheets("Summary") 
Dim i, stname 

i = 1 
For Each w In Worksheets 

    If w.Index > 1 Then 

     stname = w.Name 
     s.Cells(i, 4).formula = "=" & stname & "!$B$2" 


    End If 
    i = i + 1 
Next w 

최종 하위

하지만 코드는 ... 그 이유는 문제를보고?

+0

몇 가지 코드를 보여 주시겠습니까? 그것은 당신을 돕기 쉽게 해줍니다. –

답변

0

당신이 묻고 자하는 것을 이해하는 것은 어렵지만, 귀하의 문제를 해결하기 위해 최선을 다할 것입니다. 앞으로는 질문과 함께 코드를 포함하는 것이 좋습니다.

수식을 셀에 입력하려면 Range.Formula 메서드를 사용할 수 있습니다. 여기에 어떻게 작동하는지에 대한 좋은 설명이 있습니다 : - https://msdn.microsoft.com/en-us/library/office/ff838835.aspx

그러나 나중에 참조 할 수 있도록 텍스트로 수식을 입력하려고합니다. 가장 간단한 방법은 Range.Value 방법을 사용하는 것입니다. 이 여기에 설명되어 있습니다 : - https://msdn.microsoft.com/en-us/library/office/ff195193.aspx

그러나, 당신은 단순히 당신이 Excel에서 수식으로이 해석 것을 발견 할 것이다 Range.Value로 형식 =FORMULA에 수식을 삽입함으로써 자사의 솔루션에 대한 값을 표시하려고합니다. 이것을 극복하는 가장 간단한 방법은 다음과 같이 수식에 등호 앞에 아포스트로피를 포함시키는 것입니다. - '=FORMULA

이렇게하면 Excel에서 수식을 텍스트로만 해석합니다. 셀은 선택한 수식을 읽을 수있는 형식으로 표시합니다. 따라서, 귀하의 솔루션과 같이 보일 것입니다 : -

Cells(1,2).Value = "'='" & Cells(1,1).Value & "!'$B$2" 
Cells(1,1) 워크 시트의 이름을 포함 이로써

Cells(1,2)를 참조 공식이 될 것입니다.

나중에이 셀을 참조하고 수식으로 사용하려면 방금 추가 한 아포스트로피를 제거해야합니다. 이 작업에는 여러 가지 방법이 있습니다. 추가적인 도움이 필요하면 그냥 물어보십시오.

+0

조언을 주셔서 감사합니다 " '='"& sheetname & "! '$ B $ 2"는 정확한 양식입니다! – leveygao

+0

문제 없습니다 - 다행이라고 생각해보세요. – Scarfe

관련 문제