을 사용합니다. 지금 해결하려는 문제는 편집을 활성화하는 방법입니다. 결합 할 모든 보고서를 다운로드 한 후 사용자가 편집 할 수있는 경우 매크로에 문제가 없습니다. 그들은 버튼을 놓친 경우 데이터를 포착하지 않는 매크로를 사용하여 문제가 발생합니다. 그들은 많은 통합 문서와 함께 작동하지 않는 동안나는 현재 그들이 단어 "보고서"로 시작하는 경우 열려있는 모든 통합을 반복하고있는 데이터를 사로 잡고 매크로를 만들어 엑셀 2016에서 작업하고 편집 VBA
, 나는 그들을 위해 쉽게 만들려고 노력하고 있습니다. 게시 한 코드는 처음 3 개의 통합 문서를 처리 한 다음 나머지 5 개를 반복하지만 "편집 사용"은 수행하지 않습니다.
Sub EnableEdit()
Dim bk As Workbook
Dim w As Long, wCount As Long
wCount = Application.ProtectedViewWindows.Count
Set wsh = ThisWorkbook.Worksheets("Data")
On Error Resume Next
If wCount > 0 Then
For w = 1 To wCount
Application.ProtectedViewWindows(w).Activate
Application.ProtectedViewWindows(w).Edit
If Left(ActiveWorkbook.Name, 6) = "report" Then
ActiveWorkbook.Worksheets(1).Range("A1:Z1").Copy _
Destination:=wsh.Range("A1")
nrow = wsh.Cells(Rows.Count, 1).End(xlUp).Row + 1
ActiveWorkbook.Worksheets(1).Range("A2:Z500").Copy _
Destination:=wsh.Range("A" & nrow)
ActiveWorkbook.Close
End If
Next w
End If
On Error GoTo 0
End Sub
추적 할 수없는 가망이 https://stackoverflow.com/questions/31042383/vba-to-enable와 중복 -editing –
나는 그 해결책을 시도했지만 여전히 같은 결과를 얻었다. 나는 그 질문에 그것을 게시 했어야했다. 죄송합니다. 아직 포럼에 익숙해 져 있습니다. – Tony
'For w = wCount To 1 Step -1'을 시도해 보셨습니까? 필자는'ProtectedViewWindows'를 한번도 사용하지 않았지만'w'가'1'이고'.Edit'이 수행 될 때'ProtectedViewWindows (1)'가 콜렉션에서 제거 된 것으로 가정합니다. 그리고 나서'w'가'2' 일 때'ProtectedViewWindows (2)'는 원래 컬렉션의 세 번째 요소 (원래 컬렉션의 두 번째 요소는 이제'ProtectedViewWindows (1)')를 참조 할 것입니다. 모든 두 번째 요소 만 처리하게됩니다. (그리고'On Error'는 범위 밖의 에러를 아래 첨자로 마스킹합니다.) – YowE3K