Je veux demander à propos de renommer la feuille Excel, je veux renommer la feuille avec un nouveau nom: ancien nom + _v1.
Donc, si mon nom de feuille actuel est test, alors je veux le nouveau nom test_v1.
Je ne connais que la vba standard pour renommer une feuille Excel qui renomme une feuille Excel en fonction du contenu de la feuille.
Sub Test()
Dim WS As Worksheet
For Each WS In Sheets
WS.Name = WS.Range("A5")
Next WS
End Sub
Cela devrait le faire:
WS.Name = WS.Name & "_v1"
Les options "sans fioritures" sont les suivantes:
ActiveSheet.Name = "New Name"
et
Sheets("Sheet2").Name = "New Name"
Vous pouvez également consulter les macros d'enregistrement et voir le code qu'il vous donne. C'est un excellent moyen de commencer à apprendre certaines des fonctions les plus populaires de Vanilla.
Vous suggérons d’ajouter des manipulations pour vérifier si l’une des feuilles à renommer existe déjà:
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