계산작업 3문제에 대해 자세한 풀이와 for문에 대해서 알려주세요
안녕하세요.
해당 문제에서 mg가 입력된 위치를 보면 제품명에서 맨 마지막에 입력되어 있고, 숫자는 mg 앞에 두 자 혹은 세 자로 입력되어 있는데, 숫자 앞에 빈칸이 한칸 떨어져 있네요. 2자일 경우는 빈칸까지 가져오면 되므로 mg 앞에 세자리를 가져와서 그 값이 100보다 큰가를 비교하면 됩니다.
If Mid(제품명, Len(제품명) - 4, 3) * 1 >= 100 Then : 제품명에서 숫자가 시작하는 부분부터 3글자를 가져오면 되므로 mid 함수를 이용해
Mid(제품명, Len(제품명) - 4, 3)를 해줍니다. LEN은 전체 글자수를 구하는 것으로, 전체 글자에서 숫자와 mg 글자수를 빼주기 위해 -4를 해준 것입니다. 숫자 세글자와 mg면 5글자인데, 왜 4자를 빼냐면 MID(텍스트, 시작위치, 개수) 함수에서 시작위치는 불러올 글자가 시작하는 위치를 지정해야 하므로 숫자가 시작하는 위치를 지정해야 하므로 -4를 해준 것입니다. 이렇게 불러온 숫자가 100 이상이면 for문을 실행하고, 아니면 else문을 실행합니다.
For a = 1 To Mid(제품명, Len(제품명) - 4, 3) / 100 : mid 함수를 이용해서 추출한 숫자를 100으로 나눈 다음 그 값만큼 다음 문장을 반복해서 실행합니다.
fn비고 = fn비고 & “■” : fn비고에 “■”를 연결한 다음 fn비고에 저장합니다. for문을 반복할 때마다 “■” 를 연결하여 넣습니다. for문을 3번 반복하면 “■■■”가 입력되는 것입니다.
Next a : for문을 종료합니다.
Else
fn비고 = “” : fn비고에 빈칸을 삽입합니다.
End If : if 문을 종료합니다.
즐거운 하루 되세요.
-
*2018-06-26 17:17:11
안녕하세요.
해당 문제에서 mg가 입력된 위치를 보면 제품명에서 맨 마지막에 입력되어 있고, 숫자는 mg 앞에 두 자 혹은 세 자로 입력되어 있는데, 숫자 앞에 빈칸이 한칸 떨어져 있네요. 2자일 경우는 빈칸까지 가져오면 되므로 mg 앞에 세자리를 가져와서 그 값이 100보다 큰가를 비교하면 됩니다.
If Mid(제품명, Len(제품명) - 4, 3) * 1 >= 100 Then : 제품명에서 숫자가 시작하는 부분부터 3글자를 가져오면 되므로 mid 함수를 이용해
Mid(제품명, Len(제품명) - 4, 3)를 해줍니다. LEN은 전체 글자수를 구하는 것으로, 전체 글자에서 숫자와 mg 글자수를 빼주기 위해 -4를 해준 것입니다. 숫자 세글자와 mg면 5글자인데, 왜 4자를 빼냐면 MID(텍스트, 시작위치, 개수) 함수에서 시작위치는 불러올 글자가 시작하는 위치를 지정해야 하므로 숫자가 시작하는 위치를 지정해야 하므로 -4를 해준 것입니다. 이렇게 불러온 숫자가 100 이상이면 for문을 실행하고, 아니면 else문을 실행합니다.
For a = 1 To Mid(제품명, Len(제품명) - 4, 3) / 100 : mid 함수를 이용해서 추출한 숫자를 100으로 나눈 다음 그 값만큼 다음 문장을 반복해서 실행합니다.
fn비고 = fn비고 & “■” : fn비고에 “■”를 연결한 다음 fn비고에 저장합니다. for문을 반복할 때마다 “■” 를 연결하여 넣습니다. for문을 3번 반복하면 “■■■”가 입력되는 것입니다.
Next a : for문을 종료합니다.
Else
fn비고 = “” : fn비고에 빈칸을 삽입합니다.
End If : if 문을 종료합니다.즐거운 하루 되세요.