나눔터  
  HOME > 나눔터 > 묻고답하기 > 엑셀
엑셀
엑셀에 대한 질문과 답변을 올려주세요. 단, 취지에 맞지 않는 글은 운영자가 삭제합니다.
 "000 님, 도와주세요", "부탁 드립니다.", "급합니다!" 등과 같이 막연한 제목을 달지 말아주세요.
[필독] 빠르고 정확한 답변을 얻는 16가지 Tip !
[필독] 저작권법 개정에 따른 이용안내

작성자:  

 호랭이 (fuerza1)

추천:  2
파일:     조회:  851
제목:   아래 코드 수정이 가능할까요?
     
  * 답변하시는 분들께 도움이 되도록 자신의 환경을 아래 항목 옆에 기재해 주세요.

 - 엑셀 버전(95,97,2000,xp,2003,2007): 207

* 아래줄에 질문을 작성하세요 >>
아래 코드에서 종합의견을 만드는데, 원래 인원은 300명으로 책정을 했는데, 출력은 40명만 출력이 됩니다. 왜 그럴까요?
코드 수정 부탁드립니다.

종합의견 불러 오기 매크로
Sub 종합의견가져오기()
'
' 종합의견 만들기
'
Dim textSTR(100)
Dim StdMax As Integer
Dim startNo As Integer
Dim EndNo As Integer

On Error Resume Next

Application.ScreenUpdating = False ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' 화면갱신 금지



StdMax = 304  ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' 최대인원
STName = "개인별_종합의견"
STtemp = "Temp"

startNo = Val(Worksheets(STName).Cells(3, 3))         '''''''''''''''''''''''''''''''''''''''''''' 시작학생
EndNo = Val(Worksheets(STName).Cells(3, 5))   '''''''''''''''''''''''''''''''''''''''''''''''''''' 종료학생

If Val(startNo) > Val(EndNo) Then
       strMsg = "인쇄 대상의 시작번호 " & Str(Val(startNo) - 4) & "번이 끝번호 " & Str(Val(EndNo) - 4) & "번보다 큽니다. 다시 입력하세요." & Chr(10)
       MsgBox strMsg
       Exit Sub
End If


If EndNo > StdMax Then EndNo = StdMax

Masseage = "수정된 종합의견은 초기화 됩니다." & Chr(10) & Chr(10) & "그래도 계속하겠습니까???" & Chr(10)

If MsgBox(Masseage, vbYesNo, "  주 의 ") = vbNo Then Exit Sub

        
Sheets(STtemp).Visible = True

For I = startNo To EndNo
            textSTR(I) = Worksheets(STtemp).Cells(I + 4, 9) '''''''''''''''''''''''''''''''''''''''''''''''''' 종합의견 읽기
            Worksheets(STName).Cells(I + 4, 9) = textSTR(I)
Next

Rows("5:304").AutoFit

Sheets(STtemp).Visible = False



MsgBox " 작업이 완료되었습니다."

End Sub

코드입력 매크로
Sub 코드수정()
'
' 매크로1 매크로
'

'
Dim Col, low, no, Code As Integer
Dim SheetName As String


On Error Resume Next

SheetName = ActiveSheet.Name
'SheetName = "학습"

If SheetName = "학습" Then Col = 4: low = 12
If SheetName = "PAPS" Then Col = 5: low = 13
If SheetName = "배드민턴" Then Col = 6: low = 14
If SheetName = "탁구" Then Col = 7: low = 15
If SheetName = "체력운동" Then Col = 8: low = 16


Code = Sheets(SheetName).Cells(4, 2) '''입력한 코드
no = Sheets("Temp").Cells(4, low) '''번호(줄번호)

Sheets("개인별_종합의견").Cells(no + 4, Col) = Code

End Sub

Sub 코드수정1()
'
' 매크로1 매크로
'

'
Dim Col, low, no, Code As Integer
Dim SheetName As String


On Error Resume Next

'SheetName = ActiveSheet.Name
SheetName = "학습"

Col = 4
low = 11

Code = Sheets(SheetName).Cells(4, 2) '''입력한 코드
no = Sheets("Temp").Cells(4, low) '''학생번호(줄번호)

Sheets("개인별_종합의견").Cells(no + 4, Col) = Code

Sheets(SheetName).Cells(4, 2) = ""

End Sub


Sub 코드수정2()
'
' 매크로1 매크로
'

'
Dim Col, no, Code As Integer
Dim SheetName As String


On Error Resume Next

SheetName = "PAPS"

Col = 5
low = 12

Code = Sheets(SheetName).Cells(4, 2) '''입력한 코드
no = Sheets("Temp").Cells(4, low) '''번호(줄번호)

Sheets("개인별_종합의견").Cells(no + 4, Col) = Code

Sheets(SheetName).Cells(4, 2) = ""


End Sub

Sub 코드수정3()
'
' 매크로1 매크로
'

'
Dim Col, no, Code As Integer
Dim SheetName As String


On Error Resume Next

SheetName = "배드민턴"

Col = 6
low = 13

Code = Sheets(SheetName).Cells(4, 2) '''입력한 코드
no = Sheets("Temp").Cells(4, low) '''번호(줄번호)

Sheets("개인별_종합의견").Cells(no + 4, Col) = Code

Sheets(SheetName).Cells(4, 2) = ""

End Sub
Sub 코드수정4()
'
' 매크로1 매크로
'

'
Dim Col, no, Code As Integer
Dim SheetName As String


On Error Resume Next

SheetName = "탁구"

Col = 7
low = 14

Code = Sheets(SheetName).Cells(4, 2) '''입력한 코드
no = Sheets("Temp").Cells(4, low) '''번호(줄번호)

Sheets("개인별_종합의견").Cells(no + 4, Col) = Code

Sheets(SheetName).Cells(4, 2) = ""

End Sub

Sub 코드수정5()
'
' 매크로1 매크로
'

'
Dim Col, no, Code As Integer
Dim SheetName As String


On Error Resume Next

SheetName = "체력운동"

Col = 8
low = 15

Code = Sheets(SheetName).Cells(4, 2) '''입력한 코드
no = Sheets("Temp").Cells(4, low) '''번호(줄번호)

Sheets("개인별_종합의견").Cells(no + 4, Col) = Code

Sheets(SheetName).Cells(4, 2) = ""

End Sub



 
[불량 게시물 신고]  
slgiSTName = "개인별_종합의견"
startNo = Val(Worksheets(STName).Cells(3, 3))         
EndNo = Val(Worksheets(STName).Cells(3, 5))   
For I = startNo To EndNo
------
EndNo = Val(Worksheets(STName).Cells(3, 5))  => "개인별_종합의견" 탭의 E3 셀에 40이라고 적혀 있을 것 같네요    
01-04 (09:40)
삭제 ■신고
        
  

작성일 : 2022-12-28(13:50)
최종수정일 : 2022-12-28(13:50)