2013-06-25 3 views
2

VBA에서 Excel의 셀에있는 값의 일부를 참조하는 방법을 알고 싶었습니다. 예를 들어 셀 A32에 4200 cc를 저장했다면 VBA의 매크로에서 4200만을 계산하고 싶습니다. 그래서 파이썬에서 인덱스를 가진 문자열이나리스트를 참조 할 수있는 것처럼, 나는 똑같이 할 수 있기를 바란다. 고맙습니다! 이 같은Excel의 셀 참조 부분

답변

2

뭔가 (?) :

Dim tmpArr 
    tmpArr = Split(Range("A32"), " ") 

'any calculation in vba in this way: 
Range("B32") = tmpArr(0)/100 
'results with 42 in cell B32 

편집이 방법으로 추가로 변환 할 수있는 결과 분할의 첫 번째 부분에 대한 수의 인식에 대한 의심이있는 경우 :

'conversion to Double type 
Range("B32") = CDbl(tmpArr(0))/100 
+0

감사합니다. KazJaw. 파이썬에서 re.split에 대한 지식을 바탕으로, tmpArr에는 4200과 cc라는 두 가지 요소가 있습니다. 그들은 둘 다 끈이 아닌가? "4200"에서 산술 연산을 수행 할 수 있습니까? –

+0

기능이 자동으로 숫자를 인식하고 올바른 변환을 수행하는 것 같습니다. 그러나, 당신이 맞습니다, 기본적으로'Split function'은'string'을 리턴합니다. 몇 초안에 몇 가지 개선점이 있습니다. –

+0

정말 고마워요. KazJaw! –

0

셀의 내용을 분할 한 다음 원하는 부분을 별도로 처리하는 기능을 만들 수 있습니다.

Dim content As Variant 
content = Split(Range("A32").Value, " ") 
0

셀 값을 문자열 s로 가져 와서 숫자 부분을 반환 하시겠습니까?

Function GetNumber(s As String) 
    Dim j As Long 
    While Not IsNumeric(Left(s, 1)) 
     If Len(s) <= 1 Then 
      Exit Function 
     Else 
      s = Mid(s, 2) 
     End If 
    Wend 
    GetNumber = Val(s) 
End Function