0
아래 코드에서 조건이 충족되는 경우에도 루프가 계속 반복됩니다. 줄 단위로 실행하고 처음에 루프를 실행하면 J300에서 셀 선택이 시작되는 위치를 볼 수 있으며 열을 아래로 이동하면서 선택 영역을 볼 수 있지만 조건이 충족되는 셀에 도달하면 선택 영역은 더 이상 상쇄되지 않지만 코드는 계속 반복되며 다음 줄로 이동하지 않습니다. 나는 무엇을 잘못하고 무엇을 더 잘 만들 수 있습니까? 당신의 도움을 주셔서 감사합니다.조건이 만족되면 코드 스틸 루프가 발생합니다.
Sub RollForwardDataImport()
Dim rcell5, rcell6, rcell7, rcell8, rcell9 As Long
rcell8 = 0
rcell5 = Range("F2").Value
rcell9 = Range("F2").Value
Workbooks.Open "\\Inventory\CA-2016.xlsx"
Worksheets("Total Year").Activate
Range("J300").Select
Do While Selection.Value <> recell5
If Selection.Value = rcell5 Then
ActiveCell.Offset(0, 0).Select
Else: ActiveCell.Offset(1, 0).Select
End If
Loop
ActiveCell.Offset(0, -2).Select
rcell6 = Selection.Value
ActiveCell.Offset(0, -4).Select
rcell7 = Selection.Value
rcell8 = rcell6 + rcell7 + rcell8
Workbooks("Import.xlsm").Activate
Range("H20").Select
ActiveCell.Value = rcell8
Workbooks("CA-2016.xlsx").Close SaveChanges:=False
End Sub
['.Select /'.Activate'의 사용을 피하십시오] (https://stackoverflow.com/questions/10714251/how-to-avoid-using-select-in-excel-vba-macros) 크게 코드를 개선하고 코드를 "조이는"방법을 알려줍니다. 나는 그것을 읽고 피하는 방법을 아주 많이 읽고 제안한다. 문제 해결에 도움이 될 수도 있습니다. – BruceWayne
'Do While'은 rcell5가 아닌 recell5에 대해 테스트 중입니다. 모듈 시작 부분에'Option Explicit'을 사용하면 실수를 즉시 강조 할 수 있습니다. – Rdster
아! 예! 고마워요 – Kisheon