화학식이 있고 이 중 C의 원자값만 합계를 내는 사용자정의함수
화학식에서 원소만 뽑아내는 것이 포인트.
1. 원소별로 분리를 하고
2. C만 포함된 원소를 골라내서
3. C의 개수를 각각 더한다.
Function findC(Chemical As String) As Integer Dim i As Integer, j As Integer Dim strText As String, strChar As String Dim arrC() As String Dim sumArr As Integer '원소별 분리 For i = 1 To Len(Chemical) strChar = Mid(Chemical, i, 1) '알파벳이 있고 글자가 모이면 원소 분리 If Asc(strChar) >= 65 And Len(strText) Then ReDim Preserve arrC(j) arrC(j) = strText strText = strChar j = j + 1 Else strText = strText & strChar End If If i = Len(Chemical) Then ReDim Preserve arrC(j) arrC(j) = strText End If Next i 'C의 합 For i = 0 To UBound(arrC) If InStr(arrC(i), "C") Then 'C가 한글자일 때는 1, 그 외에는 숫자 Select Case Len(arrC(i)) Case 1: j = 1 Case Else: j = Mid(arrC(i), 2) End Select sumArr = sumArr + j End If Next i findC = sumArr End Function | cs |
'VB(A)' 카테고리의 다른 글
연속된 숫자는 ~로 표현하기 (0) | 2015.03.26 |
---|---|
자동필터 - 거래명세표 작성 (0) | 2015.03.21 |
영어문장 섞기 (26) | 2015.03.18 |
다른 파일의 차트를 불러와 정렬하기 (0) | 2015.03.16 |
차트 생성 후 이미지 저장 (0) | 2015.03.16 |