내가 꽤 자주 나는 항상 사용 THS 방법 범위의 각 셀을 통해 루프 필요 범위의 각 셀에 대해 :VBA - 내 엑셀 VBA 프로젝트에서
Dim xyzRange As Range
Dim rCell As Range
Set xyzRange = Range("C1").SpecialCells(xlTextValues)
For Each rCell in xyzRange
'Do Stuff
Next rCell
이 방법을 여러 번 일을하지만,이 시간 그렇지 않습니다.
일반적으로 범위 내에있는 셀의 양의 두 배 정도됩니다. 누구든지이 코드에서 무엇을 변경해야합니까?
Sub checkEndFileForTrunks(ByVal endFileName, ByVal trunkValue)
Dim portRange As Range
Dim portValue As String
Dim portNumber As Integer
Workbooks.Open(PATH_OUTPUTFINAL & "\" & endFileName & ".xlsx").Activate
Set portRange = Range("C1").SpecialCells(xlTextValues)
portRange.Select
portNumber = 0
Dim rCell As Range
For Each rCell In portRange
portNumber = portNumber + 1
'MsgBox (Range("C" & portNumber).Value) I used these two lines for debugging
'Range("C" & portNumber).Select
Next rCell
Application.DisplayAlerts = False
ActiveWorkbook.Close SaveChanges:=True
Application.DisplayAlerts = True
End Sub
가 나는 이유를 찾을 :
여기에 전체 기능의
라인을
Set portRange = Range("C1").SpecialCells(xlTextValues)
그것 때문에 루프의 모든 세포를 통해 열을 선택하지 않은 시트 대신에
Set portRange = Range("C1").EntireColumn.SpecialCells(xlTextValues)
고쳐졌습니다.
'이번에는 그렇지 않습니다. 정확히 작동하지 않는 방법은 무엇입니까? 어떤 오류 메시지가 보입니까? –
오류가 발생하지 않으며 너무 자주 반복됩니다. –
자세한 정보를 제공해야합니다. 작은 샘플 데이터 세트는 원하는 결과와 실제로 얻은 결과를 모두 보여줍니다. –