보시는 것 처럼 한 문서 안에 시트가 두 개가 있습니다. (실제로는 5개. 첫 번째 지표를 모은 시트가4개, 두 번째 사진이 Sheet5)
그런데 저 지표들이 매주 발표되는 항목들이 있어서 매주 업데이트를 하려 합니다
그래서 매크로를 통해서 Sheet5에 순서대로 각 지표별 평균, 최대치, 최소치, 표준편차를 써넣고 싶은데요
제가 VBA를 하나도 못해서 인터넷으로 찾아서 하다보니 너무 힘드네요 ㅠㅠ
Sub 매크로4()
'
Dim b As Byte
Dim c As Byte
Dim d As Byte
b = 2
c = 2
Do
Sheet5.Cells(4, c) = "=AVERAGE()"
Sheet5.Cells(5, c) = "=MAX()"
Sheet5.Cells(6, c) = "=MIN()"
Sheet5.Cells(7, c) = "=STDEV.S()"
c = c + 1
b = b + 2
Loop Until Sheet1.Cells(8, b) = "" 'A열에 빈셀 나올때까지 무한 반복
End Sub
저기 범위지정하는게 문제인데 지표별로 길이가 다르거든요
그래서 Ctrl+shift+↓ 하는 것처럼 마지막셀까지 지정을 해서 계산을 하고싶거든요 ㅠㅠ
ㅠㅠ 너무나 간절히 부탁드리겠습니다 ㅠㅠ
안알랴쥼
ActiveSheet.Range("a1").End(xlDown).Select
엑셀 초고수는 아니지만 이런식으로 하면 됩니다. 사실 그냥 저같은 경우에는 A:A 로 퉁쳐버린거 같기도 하지만.
as byte 는as long으로 바꾸시는게 좋습니다
sheets("Sheet5").Cells(4,c).value=application.WorkSheetFunction.Average(Range _ Sheets("경기").Range("B8"), _ Sheets("경기").Range("B8").End(xlDown) _ ))
이런... 줄바꿈이 재대로 안보이니 한줄로 다시 씁니다 sheets("Sheet5").Cells(4,c).value=application.WorkSheetFunction.Average(Range(Sheets("경기").Range("B8"), Sheets("경기").Range("B8").End(xlDown) ))
귀하가 쓰신 Sheet5.Cells(4, c) = "=AVERAGE()" 를 변동되는 범위에 맞춰서 작동하도록 수정한 코드입니다
VBA 고수처럼 배우고 싶으시면 연락주세요 과외 알바 하고 있습니다