Excel에 새로 추가되어 설명에 문제가있는 부분을 설명해 주면 실례합니다. VBA는 가장 가능성이 높지만 어제는 처음으로.하나의 버튼으로 여러 스프레드 시트에서 VBA 실행
단일 단추를 사용하여 모든 워크 시트에서 캐리지 리턴을 지우려고합니다. 내가 현재 워크 시트에서 그들을 취소하는 방법을 발견했는데이 잘 실행 :
Sub RemoveCarriageReturns()
Dim MyRange As Range
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
For Each MyRange In ActiveSheet.UsedRange
If 0 < InStr(MyRange, Chr(10)) Then
MyRange = Replace(MyRange, Chr(10), "")
End If
Next
Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic
End Sub
나는이 모든 워크 시트를 통해 실행 갈 수있는 여러 가지 방법으로 검색 한, 그러나 아무도 나의 현재를 제대로 작동하지 코드는 다음과 같습니다
Sub RemoveCarriageReturns()
Dim MyRange As Range
Dim ws As Worksheet
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
For Each ws In Worksheets
For Each MyRange In ActiveSheet.UsedRange
Select Case UCase(ws.Name)
Case "OTCUEXTR", "OTFBCUDS", "OTFBCUEL"
With ws
If 0 < InStr(MyRange, Chr(10)) Then
MyRange = Replace(MyRange, Chr(10), "")
End If
End With
End Select
Next
Next ws
Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic
End Sub
나는 그것의 모든 시트를 통해 실행하는 것을 볼 수 있지만, 아무것도 첫 번째 시트를 넘어 변하지 않는 내가 잘못 여기서 뭘하는지에 대한 조언을 (잘 작동하고 캐리지 리턴을 제거합니다.)?
죄송하지만 지금까지 답변을 드리지 못했다면 지금까지 온라인에서 해결책을 찾을 수 없었습니다.
도움 주셔서 감사합니다.
왜 찾아 통합 문서가 아닌 워크 시트에 대체 사용할 수 있습니까? –
당신은 올바른 길을 가고 있습니다. 'ActiveSheet'를'ws'로 바꾸면됩니다. – newacc2240
@ newacc2240 님, 빠른 응답에 감사드립니다. 그런 빠른 수정, 그러나 나는 그 하하를 발견하기 위해 영원히 투옥했을 것입니다. – TurboTemple