Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1520to1524
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Makroänderung für Hinweis auf Vorhandenes Blatt

Makroänderung für Hinweis auf Vorhandenes Blatt
18.10.2016 06:40:25
Bernd
Liebe Excelianer,
ich verwende nachstehenden Code um mir ein Vorlagentabellenblatt zu kopieren wo ich dann im Eingabefesnter den Namen des neu zu erstellenden Tabellenblattes eingeben kann.
Problem ist jedoch, wenn ein Tabellenblattname bereits vergeben wurde, erhalte ich einen Laufzeitfehler 1004, da der Name ja schon exisitiert.
Das ist mir auch bewusst, jedoch bin ich selbst nicht in der Lage, aufgrund meiner fehelenden VBA Kentnisse, dies zu ändern.
Ich hätte gerne ein Hinweisfenster bzw. eine Mitteilung, dass der Name bereits vergeben wurde und nur ein anderer Zulässig ist.
Könnte mir bitte jemand den Code so umschreiben, das dies so funktioniert?
Hier mal mein bisher verwendetes Makro:
Option Explicit

Public Sub KWAnlegen()
Dim strName As String
strName = InputBox("Name eingeben", "Eingabe", "KW XX")
If strName = "" Then Exit Sub
ThisWorkbook.Worksheets("Vorlage").Copy After:=ThisWorkbook.Sheets(Sheets.Count)
ActiveSheet.Name = strName
End Sub
Anmerkung: Das ist der einzige VBA Code welcher in meiner Mappe verwendet wird. Es gibt nur das Blatt Vorlage und eben Blätter von KW01, KW02, KW03 usw.
Denke deshalb, dass eine Beispielmappe nicht von nöten sein wird. Falls doch, werde ich eine hochladen.
Ich danke Allen die mir helfen und wünsche noch einen schönen Tag,
lg Bernd

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Zusatzwunsch
18.10.2016 07:02:33
Bernd
Hi nochmals,
ist es auch möglich diese beiden Passagen ("Name eingeben", "Eingabe", "KW XX") Zweizeilig und in rot zu schreiben?
Thx und lg,
Bernd
AW: Zusatzwunsch
18.10.2016 08:03:15
Armin
Guten Morgen Bernd,
Standartboxen kannst Du nicht farbig ändern. Dazu muss man Userform erstellen. Ist aber etwas schwieriger für jemanden der keine VBA Kentnisse hat.
Der Code für Deine gewünschte Änderung:
Public Sub KWAnlegen()
Dim strName As String
strName = InputBox("Name eingeben", "Eingabe", "KW XX")
If strName = "" Then Exit Sub
ThisWorkbook.Worksheets("Vorlage").Copy After:=ThisWorkbook.Sheets(Sheets.Count)
If Not TabelleTesten(strName) Then
MsgBox "Tabelle schon vorhanden", vbExclamation, "Hinweis"
End If
End Sub
Function TabelleTesten(Tx As String)
On Error GoTo IstVorhanden
ActiveSheet.Name = Tx
TabelleTesten = True
Exit Function
IstVorhanden:
TabelleTesten = False
End Function
Gruß Armin
Anzeige
AW: Zusatzwunsch
18.10.2016 08:08:44
Bernd
Servus,
hier ein Beispiel, wie man auf bereits bestehende Tabellenblätter prüfen kann:

Public Sub KWAnlegen()
Dim strName As String
Dim ws As Worksheet
strName = InputBox("Name eingeben", "Eingabe", "KW XX")
If strName = "" Then Exit Sub
For Each ws In ThisWorkbook.Worksheets
If ws.Name = strName Then
MsgBox ("Tabellenblatt " & strName & " existiert bereits.")
Exit Sub
End If
Next ws
ThisWorkbook.Worksheets("Vorlage").Copy After:=ThisWorkbook.Sheets(Sheets.Count)
ActiveSheet.Name = strName
End Sub

Grüße, Bernd
Die RECHERCHE schon durchsucht?
18.10.2016 08:00:19
robert
Hi,
ob ein Blatt vorhanden ist-dazu gibt es zig Lösungen in der Recherche-einfach
danach suchen.
Selbsthilfe ist die beste Hilfe um etwas zu lernen.
Gruß
robert
Anzeige
Vielen dank......
18.10.2016 08:57:23
Bernd
Hallo,
für Eure Hilfestellung. Konnte4 das Problem lösen und es funktioniert wie gewünscht.
@ Armin:
Bei Deiner Lösung wird mir jedoch immer ein Blatt, in diesem Falle Vorlage2, angelegt, das wollte ich so nicht.
@ Robert:
Ja, ich habe die Recherche und sehr langes Googeln verwendet, wie man merkt, ohne Erfolg!
@ Bernd:
Namensvetter :-), deine Lösung ist exakt jene, welche ich nun verwende.
Danke nochmals Allen und lg,
Bernd

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige