메뉴
해결

vba 설명 요청드립니다.

더
6월 5일 조회 1,684
Sub Cal_gibon_Sigub()
Dim i As Integer
Dim j As Integer
Dim C As Range
Dim L As Range
Dim D As Range

Dim s1 As Double

Dim Maxval As Integer

For i = 1 To 20

Set C = ActiveSheet.Range("C8").Offset(i, 0)
ActiveSheet.Cells(8 + i, 3).Select

If IsEmpty(ActiveCell) Then
Exit For
End If

' Set k = ActiveSheet.Cells(1 + i, 3).Value
For j = 1000 To 30000 Step 50

ActiveSheet.Cells(i + 8, 4).Value = j
Set L = ActiveSheet.Range("L8").Offset(i, 0)
If L >= C Then
Exit For
End If
Next j

If L > C Then
Maxval = j
For s1 = j - 49.9 To Maxval Step 0.1
ActiveSheet.Cells(i + 8, 4).Value = s1
Set L = ActiveSheet.Range("L8").Offset(i, 0)
If L >= C Then
Exit For
End If
Next s1
End If

 

항목별 설명 요청드립니다.

For j = 1000 To 30000 Step 50  이 항목은 수정할려면 어떻게 해야 하는지도 궁금합니다.

30000 이것을 40000으로 바꾸면 오류납니다.

 

댓글 2

허
허큘러스 채택된 답변 6월 6일

Integer 변수는 -32767부터 32767까지의 범위를 갖는16비트(2바이트) 숫자를 저장합니다


40000은 정수변수의 범위를 초과하므로 에러가발생합니다

그러므로 Dim j As Integer 변수선언을 Dim j As Long 으로 형변환을 해주면 됩니다
더
더운물 작성자 6월 6일
@허큘러스 님 오류나는 부분 해결했어요

감사합니다

질문답변 게시판의 최근 글

스크랩 완료