채워진 행을 통해 반복
그래서 VBA를 사용하여 Excel 스프레드시트의 워크시트를 반복하려고 합니다.각 행과 컬럼을 반복하고 싶습니다.구글 검색에도 불구하고 직관적인 방법을 찾을 수 없습니다.
행의 첫 번째 셀은 채워져야 하며, 채워지지 않으면 거기서 끝나야 합니다.나는 이것을 강제할 수 있다.
현재 방법은 행을 반복한 후 첫 번째 셀의 값을 구하려고 하지만 알 수 없습니다.범위 등을 사용하는 몇 가지 질문은 있습니다만, 코드 작성에 도움이 되는 것은 없습니다.
현재의 접근방식은 다음과 같습니다.
Set sh = ActiveSheet
RowCount = 0
For Each rw In sh.Rows
'If Row.Cells(1, 1).Value = "" Then Exit For
RowCount = RowCount + 1
Next rw
MsgBox (RowCount)
이것을 실행하면 큰 숫자가 표시됩니다.테이블에는 약 25줄밖에 없기 때문에 틀렸습니다.첫 번째 행이 작동하지 않아서 코멘트를 달았습니다.
첫 번째 셀이 비어 있는 행을 발견했을 때 For Loop의 첫 번째 행에서 무엇을 변경하여 올바르게 끊을 수 있습니까?
유사한 항목을 찾는 사용자의 이점은 워크시트를 참조하십시오..UsedRange
,
예.? ActiveSheet.UsedRange.Rows.Count
및 루프와 같은
For Each loopRow in Sheets(1).UsedRange.Rows: Print loopRow.Row: Next
행과 열을 하드 코딩한 것 같습니다. 그렇지 않으면 몇 가지 작은 수정이 있을 것입니다. 그리고 제 생각에 당신은 거기에 있는 것 같습니다.
Dim sh As Worksheet
Dim rw As Range
Dim RowCount As Integer
RowCount = 0
Set sh = ActiveSheet
For Each rw In sh.Rows
If sh.Cells(rw.Row, 1).Value = "" Then
Exit For
End If
RowCount = RowCount + 1
Next rw
MsgBox (RowCount)
나는 대답에서 몇 가지 가정을 할 것이다.데이터가 A1에서 시작되고 각 행의 첫 번째 열에는 데이터가 있는 빈 셀이 없다고 가정합니다.
이 코드는 다음과 같습니다.
- A열에서 데이터가 있는 마지막 행을 찾습니다.
- 각 행을 루프합니다.
- 데이터가 있는 현재 행의 마지막 열 찾기
- 현재 행의 각 셀을 마지막 열까지 루프합니다.
이것은 빠른 방법은 아니지만, 당신이 제안한 대로 각각의 방법을 반복할 것입니다.
Sub iterateThroughAll()
ScreenUpdating = False
Dim wks As Worksheet
Set wks = ActiveSheet
Dim rowRange As Range
Dim colRange As Range
Dim LastCol As Long
Dim LastRow As Long
LastRow = wks.Cells(wks.Rows.Count, "A").End(xlUp).Row
Set rowRange = wks.Range("A1:A" & LastRow)
'Loop through each row
For Each rrow In rowRange
'Find Last column in current row
LastCol = wks.Cells(rrow, wks.Columns.Count).End(xlToLeft).Column
Set colRange = wks.Range(wks.Cells(rrow, 1), wks.Cells(rrow, LastCol))
'Loop through all cells in row up to last col
For Each cell In colRange
'Do something to each cell
Debug.Print (cell.Value)
Next cell
Next rrow
ScreenUpdating = True
End Sub
언급URL : https://stackoverflow.com/questions/24377197/iterating-through-populated-rows
'programing' 카테고리의 다른 글
문자열에서 첫 번째 문자를 제거하는 가장 빠른 방법 (0) | 2023.04.19 |
---|---|
applicationWillEnterForeground vs. applicationDidBecomeActive, applicationWillResignActive vs.applicationDidEnterBackground (0) | 2023.04.19 |
보기가 표시되기 전에 iPhone에서 UITableView의 맨 아래까지 스크롤하는 방법 (0) | 2023.04.14 |
종속 속성에서 속성 변경 이벤트를 발생시키는 방법 (0) | 2023.04.14 |
중간 커밋 없이 두 커밋 간의 변화를 확인하는 방법은 무엇입니까? (0) | 2023.04.14 |