Tabellenblatt automatisch bennenen

Hi!

  1. Ich würde es gerne so einrichten, dass ein über eine Prozedur erstelltes Tabellenblatt automatisch mit immer dem gleichen Namen und einem Index dahinter benannt wird, so heißt z.B. das erste Tabellenblatt, das erstellt wird, „Ergebnis1“ oder „Ergebnis(1)“. Dann führe ich die Prozedur ein zweites Mal durch und das Tabellenblatt soll „Ergebnis2“ oder „Ergebnis(2)“ heißen. Nach Möglichkeit sollte der Index auch noch beim Löschen von Tabellenblatt1 um eins kleiner werden.

  2. Ich brauche das, um ein Diagramm dazu zu erstellen. Dabei muss man bei der Quelle ja immer das Tabellenblatt angeben. Kann man das irgendwie umgehen?

  3. Wie kann man einstellen, dass ein Tabellenblatt, das immer erhalten bleiben soll, nicht ohne Eingabe eines Kennworts gelöscht wird (ohne Schutz der ganzen Arbeitsmappe), man aber trotzdem andere Tabellenblätter löschen kann?

  4. Zuletzt habe ich noch folgendes Problem: Bei folgender Programmzeile erwartet der Editor ein „=vbOK“ o. Ä. und wenn ich das dann schreibe, erwartet er noch eine Variable. Eigentlich will ich nur, dass der Text unten in einer Messagebox ausgegeben wird:

MsgBox(„Der Ball erreicht nach " & NullwertZeit & " Sekunden den Boden in " & NullwertWeite & " Metern Entfernung vom Ausgangspunkt.“, , „Nullwert“)

Ich hoffe, ihr könnt mir helfen, danke im Voraus

Patrick

Hi Patrick,

  1. Ich würde es gerne so einrichten, dass ein über eine
    Prozedur erstelltes Tabellenblatt automatisch mit immer dem
    gleichen Namen und einem Index dahinter benannt wird, so heißt
    z.B. das erste Tabellenblatt, das erstellt wird, „Ergebnis1“
    oder „Ergebnis(1)“. Dann führe ich die Prozedur ein zweites
    Mal durch und das Tabellenblatt soll „Ergebnis2“ oder
    „Ergebnis(2)“ heißen. Nach Möglichkeit sollte der Index auch
    noch beim Löschen von Tabellenblatt1 um eins kleiner werden.

Zeige mal den Code.
Und entscheide dich ob es Ergebnis1 oder Ergebnis(1) heissen soll.

  1. Ich brauche das, um ein Diagramm dazu zu erstellen. Dabei
    muss man bei der Quelle ja immer das Tabellenblatt angeben.
    Kann man das irgendwie umgehen?

? Das Diagramm muß doch wissen ob die Datenquelle tabelle1!A1:C5 ist oder tabelle2!A1:C5
Was meinst du genau?

  1. Wie kann man einstellen, dass ein Tabellenblatt, das immer
    erhalten bleiben soll, nicht ohne Eingabe eines Kennworts
    gelöscht wird (ohne Schutz der ganzen Arbeitsmappe), man aber
    trotzdem andere Tabellenblätter löschen kann?

Das ist machbar, man müßte den Kontext der rechten Maustaste wo man Blätter löschen kann „umbiegen“ damit eine Abfrage nach dem Kennwort kommt. Ich weiß grad nicht ob man auch in/durch Symbolleisten „oben“ ein Blatt löschen kann, dies müßte auch „umgebogen“ werden.

  1. Zuletzt habe ich noch folgendes Problem: Bei folgender
    Programmzeile erwartet der Editor ein „=vbOK“ o. Ä. und wenn
    ich das dann schreibe, erwartet er noch eine Variable.
    Eigentlich will ich nur, dass der Text unten in einer
    Messagebox ausgegeben wird:

MsgBox(„Der Ball erreicht nach " & NullwertZeit & " Sekunden
den Boden in " & NullwertWeite & " Metern Entfernung vom
Ausgangspunkt.“, , „Nullwert“)

Ungetestet:
MsgBox „Der Ball erreicht nach " & NullwertZeit & " Sekunden
den Boden in " & NullwertWeite & " Metern Entfernung vom
Ausgangspunkt.“

Ich hoffe, ihr könnt mir helfen, danke im Voraus

schaun wir mal :smile:

Gruß
Reinhard

Hallo Reinhard,

Zeige mal den Code.
Und entscheide dich ob es Ergebnis1 oder Ergebnis(1) heissen
soll.

Ich habe lediglich mit Sheets.Add ein neues Tabellenblatt hinzugefügt. Mehr Code habe ich nicht, das ist ja das Problem. Außerdem ist das Problem, dass die neu erstellten Tabellen immer einen anderen automatischen Namen haben, deswegen weiß ich nicht, wie ich sie der Reihe nach Ergebnis1, Ergebnis2, Ergebnis3 usw. nennen kann.

? Das Diagramm muß doch wissen ob die Datenquelle
tabelle1!A1:C5 ist oder tabelle2!A1:C5
Was meinst du genau?

Mit dem gleichen Modul soll zur gerade erstellten Tabelle ein Diagramm gezeichnet werden. Ich dachte, man könnte das vielleicht mit einer Quellangabe auf das Blatt beziehen, das gerade angezeigt wird, oder so.

Das ist machbar, man müßte den Kontext der rechten Maustaste
wo man Blätter löschen kann „umbiegen“ damit eine Abfrage nach
dem Kennwort kommt. Ich weiß grad nicht ob man auch in/durch
Symbolleisten „oben“ ein Blatt löschen kann, dies müßte auch
„umgebogen“ werden.

Eine Ahnung, wie man das „umbiegen“ kann?

MsgBox „Der Ball erreicht nach " & NullwertZeit & " Sekunden
den Boden in " & NullwertWeite & " Metern Entfernung vom
Ausgangspunkt.“

Was ändert sich dadurch, dass man die Überschrift weglässt? (Ohne Überschrift funktioniert das nämlich.)

Gruß
Patrick

Hi Patrick,

Ich habe lediglich mit Sheets.Add ein neues Tabellenblatt
hinzugefügt. Mehr Code habe ich nicht, das ist ja das Problem.
Außerdem ist das Problem, dass die neu erstellten Tabellen
immer einen anderen automatischen Namen haben, deswegen weiß
ich nicht, wie ich sie der Reihe nach Ergebnis1, Ergebnis2,
Ergebnis3 usw. nennen kann.

probiers mal so

Option Explicit
'
Sub BlattAnlegen()
Dim wks As Worksheet, Nummer As Integer
For Each wks In ThisWorkbook.Worksheets
 If wks.Name Like "Ergebnis\*" Then
 If CInt(Mid(wks.Name, 9)) \> Nummer Then Nummer = CInt(Mid(wks.Name, 9))
 End If
Next wks
Worksheets.Add after:=Worksheets(Worksheets.Count)
ActiveSheet.Name = "Ergebnis" & Right("00" & CStr(Nummer + 1), 2)
End Sub

? Das Diagramm muß doch wissen ob die Datenquelle
tabelle1!A1:C5 ist oder tabelle2!A1:C5
Was meinst du genau?

Mit dem gleichen Modul soll zur gerade erstellten Tabelle ein
Diagramm gezeichnet werden. Ich dachte, man könnte das
vielleicht mit einer Quellangabe auf das Blatt beziehen, das
gerade angezeigt wird, oder so.

Woher sollen die Daten kommen? Noch ist das neue Blatt ja leer.

Das ist machbar, man müßte den Kontext der rechten Maustaste
wo man Blätter löschen kann „umbiegen“ damit eine Abfrage nach
dem Kennwort kommt. Ich weiß grad nicht ob man auch in/durch
Symbolleisten „oben“ ein Blatt löschen kann, dies müßte auch
„umgebogen“ werden.

Eine Ahnung, wie man das „umbiegen“ kann?

Ja, aber erst mal die anderen Dinge klären.

MsgBox „Der Ball erreicht nach " & NullwertZeit & " Sekunden
den Boden in " & NullwertWeite & " Metern Entfernung vom
Ausgangspunkt.“

Was ändert sich dadurch, dass man die Überschrift weglässt?
(Ohne Überschrift funktioniert das nämlich.)

MsgBox gibt’s in zwei Varianten, einmal so wie ich es benutze, also nur einen String anzeigen oder aber halt die andere Variante, schau mal in die Vba-Hilfe, da wird erläutert welche Parameter du da angeben kannst/mußt.
Vielleicht willst du auch eine InputBox!?

Gruß
Reinhard