Ich bräuchte ein Makro, dass mir ein Tabellenblatt komplett kopiert und mich um den Namen des neuen tabellenblatt frägt. Gut wäre noch, eine Meldung mt Name bereits vorhanden sollte ich 2 mal den selben Namen vergeben wollen.
LG Udo
feststellen, ob Worksheet vorhanden ist
hier ein Beispiel, welches Du relativ einfach entsprechend abändern kannst:
Option Explicit
Sub TabAuswahl()
Dim BoVorhanden As Boolean
Dim WsTabelle As Worksheet
For Each WsTabelle In Worksheets
If WsTabelle.Name = "Tabelle1" Then
BoVorhanden = True
Exit For
End If
Next WsTabelle
If BoVorhanden Then
'vorhanden
Else
'nicht vorhanden
End If
End Sub
kopieren Makrorecorder.Function LegalSheetName(strName As String) As String
Dim arrNotAllowed As Variant, n As Integer
arrNotAllowed = Array(":", "\", "/", "?", "*", "[", "]")
For n = 0 To UBound(arrNotAllowed)
strName = Replace(strName, arrNotAllowed(n), "")
Next
LegalSheetName = Left(strName, 31)
End Function
Public Sub Blatt_erstellen()
Dim ws As Worksheet, strBlattname As String
Application.ScreenUpdating = False
strBlattname = InputBox("Bitte Blattname erfassen.", "Neues Tabellenblatt")
If Not strBlattname = vbNullString Then
strBlattname = LegalSheetName(strBlattname)
For Each ws In ThisWorkbook.Worksheets
If ws.Name = strBlattname Then
MsgBox "Das Blatt " & strBlattname & " existiert bereits."
Exit Sub
End If
Next ws
Worksheets("Vorlage").Copy after:=Worksheets(Sheets.Count)
ActiveSheet.Name = strBlattname
End If
End Sub
Gruß WernerWorksheets("Vorlage").Copy after:=Worksheets(Sheets.Count)
ActiveSheet.Name = strBlattname
Worksheets(strBlattname).Range("H4")= "offen"
Gruß Werner