VBA에서 열 머리글을 순환하려고합니다 (이동 될 수 있음). 머리글 이름을 찾아 해당 열을 숨겨서 반복합니다. 숨기기 부분이 제대로 작동하지만 간단한 '숨기기 해제'를 수행하기로 결정하고 오류가 발생했습니다. 런타임 오류 '92': 루프가 초기화되지 않았습니다.VBA 하나의 하위에서 작동하는 루프 초기화의 경우 거의 동일한 하위가 작동하지 않음
내가 변경 한 유일한 사항은 현재 선택 항목을 숨기거나 숨기지 않는지 여부입니다 (참 또는 거짓). 변수 이름을 변경하려고했는데 어쩌면 무언가가 잠수정 사이에서 그들을 공유함으로써 무언가를 망칠 수 있다고 생각했지만 도움이되지 못했습니다.
작업 '숨기기'서브 코드는 다음과 같습니다 :
Public Sub Activate_Print_Mode()
Dim SearchArray() As Variant SearchArray = Array("ISBN", "Sub Title",
"Paper Cut Off", "Despatch Date (ExW)", "Printer Location", "UK WH
ETA", "Suggested Pub ExW", "Suggested Pub ExUK", "INDENT/STATUS",
"UK VAT Price", "FX", "GB Net Price", "AU Price + Freight", "S/A",
"Discount", "PRICE NOTES", "ORDERED", "Budget Value", "Misc Specs")
Dim element As Variant
For Each element In SearchArray
' perform search, hide column
'counter = counter + 1
Rows("3:3").Select
Selection.Find(What:=element, After:=ActiveCell, LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByColumns, SearchDirection:=xlNext, _
MatchCase:=True, SearchFormat:=False).Activate
ActiveCell.Offset(-1, 0).Select
Selection.EntireColumn.Hidden = True
Next element
ActiveSheet.Range("A1").Select
End Sub
비 작업 '쇼'서브는 다음과 같습니다 :
는Public Sub DeActivate_Print_Mode()
Dim DispSearchArray() As Variant SearchArray = Array("ISBN", "Sub
Title", "Paper Cut Off", "Despatch Date (ExW)", "Printer Location",
"UK WH ETA", "Suggested Pub ExW", "Suggested Pub ExUK", "INDENT/
STATUS", "UK VAT Price", "FX", "GB Net Price", "AU Price + Freight",
"S/A", "Discount", "PRICE NOTES", "ORDERED", "Budget Value", "Misc
Specs")
Dim DispElement As Variant
For Each DispElement In DispSearchArray
' perform search, hide column
'counter = counter + 1
Rows("3:3").Select
Selection.Find(What:=element, After:=ActiveCell, LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByColumns, SearchDirection:=xlNext, _
MatchCase:=True, SearchFormat:=False).Activate
ActiveCell.Offset(-1, 0).Select
Selection.EntireColumn.Hidden = False
Next DispElement
ActiveSheet.Range("A1").Select
End Sub
무슨 준다?
모든 범위 개체가 상대 상위 시트에 할당되어 있는지 확인하십시오. 'Worksheets ("Sheet1") 행 (3)' –
"작동하지 않음"은 두 번째 예제를 실행할 때 어떤 일이 발생 하는지를 잘 설명하지 않습니다. 그러나'Find()'가 숨겨진 열/행의 값을 찾지 않기 때문에 작동하지 않습니다. 대신 셀을 반복해야합니다. –