2017-10-27 3 views
0

Ich versuche, ein neues Blatt einzufügen und dann umbenennen es in den aktuellen Monat und das Jahr nur mit einer Taste. Für einige zusätzliche Informationen: Ich plane, diese Schaltfläche später zu entfernen, so dass es automatisch wird.VBA - Erstellen Sie ein neues Blatt und benennen Sie es um

Private Sub CommandButton1_Click() 

    nowMonth = Month(Now) 
    nowYear = Year(Now) 

ActiveWorkbook.Sheets.Add After:=Worksheets(Worksheets.Count)Name = "nowMonth & , & nowYear) 

End Sub 
+0

Versuchen zu ersetzen ' "nowMonth &, & nowYear) '' mit nowMonth &",“ & nowYear' – jivko

+0

ich es einfach versucht und bekam noch Syntax Fehler – Youiee

+0

Warum haben Sie in Ihrer Frage keinen Syntaxfehler erwähnt? – jsotola

Antwort

3

Dies wird es tun:

nowMonth = Month(Now) 
nowYear = Year(Now) 

ActiveWorkbook.Sheets.Add After:=Worksheets(Worksheets.Count) 
ActiveWorkbook.Sheets(Worksheets.Count).Name = nowMonth & "," & nowYear 
+0

Vielen Dank! Es funktionierte – Youiee

1

Dies sollte für Sie arbeiten:

Private Sub sheet() 
    nowMonth = Month(Now) 
    nowYear = Year(Now) 
    ActiveWorkbook.Sheets.Add(After:=Worksheets(Worksheets.Count)).Name = nowMonth & "," & nowYear 
End Sub 
1

Betrachten wir irgendeine Art von Fehler zu haben, Umgang mit dem Bogen zu überprüfen, ob Sie bereits hinzugefügt sind vorhanden Andernfalls, wenn Sie den gleichen Code erneut ausführen, erhalten Sie einen Fehler und ein neues Standardblatt wird ebenfalls zur gleichen Zeit hinzugefügt, was ich nicht denke, was Sie wollen.

Es ist auch eine gute Praxis, alle im Code verwendeten Variablen zu deklarieren.

Sie sollten es so versuchen ...

Private Sub CommandButton1_Click() 
Dim wb As Workbook 
Dim ws As Worksheet 
Dim nowMonth As Integer, nowYear As Integer 
nowMonth = Month(Now) 
nowYear = Year(Now) 
Set wb = ActiveWorkbook 
On Error Resume Next 
Set ws = wb.Sheets(nowMonth & ", " & nowYear) 
On Error GoTo 0 
If Not ws Is Nothing Then 
    MsgBox "The Sheet called " & nowMonth & ", " & nowYear & " already exists in the workbook.", vbExclamation, "Sheet Already Exists!" 
    Exit Sub 
Else 
    Set ws = wb.Sheets.Add(after:=wb.Sheets(wb.Sheets.Count)) 
    ws.Name = nowMonth & ", " & nowYear 
End If 
End Sub 
Verwandte Themen