programing

VBA 매크로를 사용하여 Excel 시트 이름 바꾸기

mailnote 2023. 6. 30. 22:32
반응형

VBA 매크로를 사용하여 Excel 시트 이름 바꾸기

엑셀 시트의 이름을 변경하는 것에 대해 묻고 싶습니다. 새로운 이름으로 시트의 이름을 변경하고 싶습니다: 이전 이름 + _v1.

그래서 만약 내 현재 시트 이름이 test라면, 나는 새로운 이름 test_v1을 원합니다.

나는 엑셀 시트의 이름을 시트 내용으로 바꾸는 엑셀 시트의 이름을 바꾸기 위한 표준 vba만 알고 있습니다.

Sub Test()

Dim WS As Worksheet

For Each WS In Sheets
   WS.Name = WS.Range("A5")
Next WS
End Sub

"프릴 없음" 옵션은 다음과 같습니다.

ActiveSheet.Name = "New Name"

그리고.

Sheets("Sheet2").Name = "New Name"

매크로를 기록하고 어떤 코드를 제공하는지 확인하면 더 많은 바닐라 기능을 배울 수 있습니다.

이렇게 하면 됩니다.

WS.Name = WS.Name & "_v1"

이름을 바꿀 시트가 이미 있는지 테스트하기 위해 처리를 추가하는 것이 좋습니다.

Sub Test()

Dim ws As Worksheet
Dim ws1 As Worksheet
Dim strErr As String

On Error Resume Next
For Each ws In ActiveWorkbook.Sheets
Set ws1 = Sheets(ws.Name & "_v1")
    If ws1 Is Nothing Then
        ws.Name = ws.Name & "_v1"
    Else
         strErr = strErr & ws.Name & "_v1" & vbNewLine
    End If
Set ws1 = Nothing
Next
On Error GoTo 0

If Len(strErr) > 0 Then MsgBox strErr, vbOKOnly, "these sheets already existed"

End Sub

언급URL : https://stackoverflow.com/questions/36346866/rename-excel-sheet-with-vba-macro

반응형