Microsoft Excel

Herbers Excel/VBA-Archiv

Automatische Tabellenblätter

Betrifft: Automatische Tabellenblätter von: mueslee
Geschrieben am: 14.10.2014 14:45:22

Hallo liebe Community,

mit welchem Quelltext kann ich bei der Eingabe in eine bestimmte Spalte ein neues Tabellenblatt erzeugen, dass auch gleich entsprechend benannt wird.

Beste Grüße,
Florian

  

Betrifft: AW: Automatische Tabellenblätter von: yummi
Geschrieben am: 14.10.2014 16:30:10

Hallo mueslee,

wenn dein Name des neuen Tabellenblattes auf dem 1. Sheet in Zelle A1 steht so:

Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Row = 1 And Target.Column = 1 Then
    Sheets.Add After:=Sheets(Sheets.Count)
    Sheets(Sheets.Count).Name = Sheets(1).Cells(1, 1).Value
End If
End Sub

VBA Editor öffnen (Alt+F11) doppelklick auf Tabellenblatt 1 und hinkopieren

Gruß
yummi


  

Betrifft: AW: Automatische Tabellenblätter von: mueslee
Geschrieben am: 14.10.2014 18:06:47

hallo yummi,

vielen Dank erstmal vorab für die bereitschaft mir zu helfen. Ich check das allerdings nicht. es funktioniert leider nicht wie beschrieben wenn ich den Quelltext in tabellenblatt 1 im vba editor kopiere. bei der eingabe von werten in zelle A1, entsteht keine neues Tabellenblatt mit entsprechender Bezeichnung. vielleicht muss ich es genauer beschreiben:

der Nutzer soll in Tabellenblatt "Zusammenfassung" in Zelle D6 eine beliebe, ganzzahlige Zahl (1234) schreiben. Durch Eingabe in diese Zelle soll das Tabellenblatt "Skizze1" geändert werden in das Tabellenblatt "1234".
Schreibt der Nutzer in Zelle D7 eine beliebige Zahl (9876),soll das selbe mit Tabellenblatt "Skizze2" passieren. usw

IDEALERWEISE, soll durch die Eingabe einer beliebigen Zahl "1234" auf Tabellenblatt "Zusammenfassung" in D6 ein Mustertabellenblatt "Muster" vollständig kopiert werden, die Kopie neu unter der Eingabe "1234" als Tabellenblatt angelegt werden. Zusätzlich muss nun allerdings noch die Zelle D6 und E6 in Zelle C2 und C3 des neu angelegten Tabellenblattes übernommen werden. Schreibt der Nutzer in Zelle D7 erneut eine beliebige Zahl soll das ganze erneut erfolgen.


  

Betrifft: AW: Automatische Tabellenblätter von: mueslee
Geschrieben am: 14.10.2014 19:19:02

ok, ich habe mich jetzt soweit durcharbeitet, dass ich die Zelleninhalte A1 bis A4 als Tabellen darstellen kann.

Sub tabellenblaetter()
Dim Bereich As String
Dim Zelle As Range
Dim Tabelle As Worksheet
Bereich = "a1:a4"
With ActiveWorkbook
For Each Zelle In ActiveSheet.Range(Bereich).Cells
 Set Tabelle = .Sheets.Add(After:=.Sheets(Sheets.Count))
 Tabelle.Name = Zelle.Text
Next Zelle
End With
End Sub
problem 1) ich muss immernoch das makro manuell ausführen. wie kann das makro automatisch nach Eingabe in Zelle A1 ausgeführt werden?

problem 2) wie kann ich excel dazu bringen, dass ein bestehendes Tabellenblatt vollständig kopiert wird und nur dessen Bezeichnung (entsprechend A1-A4) angepasst wird?


  

Betrifft: AW: Automatische Tabellenblätter von: yummi
Geschrieben am: 16.10.2014 09:27:13

Hallo mueslee,

lad doch mal deine Datei hoch mit einer Beschreibung was noch nicht geht, dann schau ich mir das an.

Gruß
yummi

PS: wenn dein Makro auf eingaben reagieren soll, dann muss es in den code des entsprechenden Tabellenblattes (change oder selection_change).


 

Beiträge aus den Excel-Beispielen zum Thema "Automatische Tabellenblätter"