워크 시트에 100 개의 시트가 있고 모든 시트에서 반복하고 C 열의 셀이 null이 아닌 경우 해당 b 열에 워크 시트 이름을 인쇄한다고 가정 해 봅시다.워크 시트 이름을 여러 시트의 행에 추가합니다.
a | b | c
123 | null | John
345 | null | Arya
678 | null | Sansa
그리고 그것이 I이 루프 통합 문서의 모든 워크 각 시트의 범위에서 반복 할
a | b | c
123 | Sheet1 | John
345 | Sheet1 | Arya
678 | Sheet1 | Sansa
로 변환되어야 할 :
원래 시트도 1은 표준이 아닙니다. 여기에 다양한 글을 읽기에 의해 생성 된 코드는하지만 작동하지 않습니다
Dim LastRow As Long
Sub Correction()
Application.ScreenUpdating = False
Dim i As Long
Dim j As Integer
x = Sheets.Count
For j = x To 1 Step -1
LastRow = ActiveSheet.Cells(ActiveSheet.Rows.Count, "C").End(xlUp).Row
For i = 2 To LastRow
ActiveSheet.Cells("B", i) = ActiveSheet.Name
Next i
Next j
Application.ScreenUpdating = True
End Sub
I 해요 초보자 ..
내가 보는 것과
매력처럼 작동했습니다! 고마워요! 어리석은 질문을하는 사람들을 완전히 귀찮게하지 말고 나를 완전히 이해하기 위해 나를 조금이라도 분해한다면 어떨까요? –
먼저 Sub에 앞서 Dim LastRow를 사용 했으므로 아무 것도하지 않았습니다. Option Explicit을 사용하면 오류가 발생하지만 그렇지 않은 경우 숫자가 기본값이됩니다. 둘째, 시트는 Workbooks 속성의 컬렉션입니다. 컬렉션을 순환 할 수있을 때 Step을 사용하여 루프를 만들 필요가 없습니다. 컬렉션에 대한 자세한 내용은 매우 유용합니다. 셋째, 셀 주석을 표준 (행 번호, 열 번호)으로 변경했습니다. 어쩌면 다른 어떤 스타일보다 좋을 수도 있지만 좋은 습관입니다. –