Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
960to964
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
960to964
960to964
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Neues Tabellenblatt wenn Zelle nicht leer

Neues Tabellenblatt wenn Zelle nicht leer
21.03.2008 10:39:00
Robert
Hallo Freunde,
ich habe in Spalte a untereinander in den Zellen Codes und möchte jeweils ein neues Tabellenblatt mit dem Code als Namen haben, insofern die zelle in Spalte a nicht leer ist.
Bsp.weise: Also wenn jemand in zelle A3 "gsfd" einträgt, möchte ich, dass automatisch ein Tabellenblatt mit dem Namen "gsfd" entsteht, deren Inhalt Tabelle"Vorlage" kopiert hat...
ist so etwas möglich?
viele Grüße,
robert

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Neues Tabellenblatt wenn Zelle nicht leer
21.03.2008 10:56:00
Daniel
Hi
diesen Code ins Modul des Tabellenblatts einfügen:

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column > 1 Then Exit Sub
If Target.Cells.Count > 1 Then Exit Sub
If Target.Value = "" Then Exit Sub
Sheets("Vorlagen").Copy after:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count)
ActiveSheet.Name = Left(Target.Value, 31)
End Sub


Gruß, Daniel

AW: Neues Tabellenblatt wenn Zelle nicht leer
21.03.2008 11:11:04
fcs
Hallo Robert,
folgendes Makro im VBA-Editor unter der Tabelle einfügen in der die Codes eingegeben werden.
ggf. im Code noch die Zeile anpassen, ab der Codes eingegeben werden.
Gruß
Franz

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Dim ws As Object
Application.ScreenUpdating = False
If Target.Row >= 3 And Target.Column = 1 Then
If MsgBox("Tabelenblatt mit Name """ & Target.Value & """ anlegen ?", _
vbYesNo, "Blatt Vorlage kopieren") = vbYes Then
For Each ws In ActiveWorkbook.Sheets
If LCase(ws.Name) = LCase(Target.Value) Then
MsgBox "Blatt mit dem eingegeben Namen existiert bereits!"
GoTo ende
End If
Next
Worksheets("Vorlage").Copy before:=Worksheets("Vorlage")
ActiveSheet.Name = Target.Value
'      Me.Activate
End If
End If
ende:
Set ws = Nothing
Application.ScreenUpdating = True
End Sub


Anzeige
AW: mit verfeinerter Eingabefehler-Prüfung
21.03.2008 11:32:00
fcs
Hallo Robert,
hier eine Variante, die noch ein paar mehr Fehler bei der Zell-Auswahl und beim Blattnamen abfängt.
Gruß
Franz

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Dim Fehler As Integer, ws As Object
On Error GoTo Fehler
Application.ScreenUpdating = False
If Target.Row >= 3 _
And Target.Column = 1 _
And Target.Cells.Count = 1 _
And Target.Range("A1").Value  "" Then
If MsgBox("Tabelenblatt mit Name """ & Target.Value & """ anlegen ?", _
vbYesNo, "Blatt Vorlage kopieren") = vbYes Then
For Each ws In ActiveWorkbook.Sheets
If ws.Name = Target.Value Then
MsgBox "Blatt mit dem eingegeben Namen existiert bereits!"
Target.Select
GoTo ende
End If
Next
Worksheets("Vorlage").Copy before:=Worksheets("Vorlage")
Fehler = 1
ActiveSheet.Name = Target.Value
Fehler = 0
'      Me.Activate
End If
End If
GoTo ende
Fehler:
Select Case Fehler
Case 1
MsgBox "Fehler Nr. " & Err.Number & " ist aufgetreten!" & vbLf & Err.Description
Application.DisplayAlerts = False
ActiveSheet.Delete
Application.DisplayAlerts = True
Me.Activate
Target.Select
Case Else
MsgBox "Fehler Nr. " & Err.Number & " ist aufgetreten!" & vbLf & Err.Description
End Select
ende:
Application.ScreenUpdating = True
End Sub


Anzeige
AW: mit verfeinerter Eingabefehler-Prüfung
21.03.2008 12:00:07
Robert
danke, funzt bestens....
ihr seid ja echte cracks ;-)

AW: mit verfeinerter Eingabefehler-Prüfung
21.03.2008 13:52:28
Robert
Kann ich nun auch mit irgendeiner formel in einem blatt "zusammenfassung" bsp.weise auf die Zelle C5 aller so entstanden tabellen zugreifen?
cheerio,
Robert

AW: mit verfeinerter Eingabefehler-Prüfung
21.03.2008 14:24:34
fcs
Robert,
das geht dann innerhalb der Arbeitsmappe mit der Funktion INDIREKT.
Gruß
Franz
Beispiel:

Tabellenblattname: Zusammenfassung
A        B          C
1                        Wert
2  Code    Wert C5         C5
3   bbb   bbb 1234   bbb 1234
4   aah   aah 1234   aah 1234
Benutzte Formeln:
B3:  =INDIREKT("'"& $A3 &"'!C5")
B4:  =INDIREKT("'"& $A4 &"'!C5")
C3:  =INDIREKT("'"& $A3 &"'!" & C$2)
C4:  =INDIREKT("'"& $A4 &"'!" & C$2)


Anzeige
AW: Neues Tabellenblatt wenn Zelle nicht leer
21.03.2008 11:43:10
Tino
Hallo,
hier noch eine Version von mir.
Ich arbeite mit einer Hilfsspalte (kann ausgeblendet werden), kann somit
die Tabellen durch entfernen in A1 bis A20 wieder löschen.
https://www.herber.de/bbs/user/50898.xls
Gruß
Tino

Interessiert es noch?
21.03.2008 12:07:39
Tino
Hallo,
bin mir nicht sicher ob es noch interessiert.
Habe es noch etwas aufgemotzt, jetzt kannst du durch ändern des Textes in
A1-A20 auch die entsprechenden Tabellen umbenennen.
https://www.herber.de/bbs/user/50899.xls
Gruß
Tino
Anzeige

337 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige