Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1168to1172
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

Name abfragen und Erzeugung eines neuen Tabellenbl

Name abfragen und Erzeugung eines neuen Tabellenbl
ajbl
Hallo
ich möchte beim Start des Makros eine Abfrage nach einem Namen haben (z.B. "Test") haben. Hiernach soll ein neues Tabellenblatt mit diesem Namen ("Test") erzeugt werden. Auf einem schon existierenden Tabellenblatt soll in einer bestimmten Zelle (z.B. A1) der Name dieses neuen Blattes eingetragen werden und in der Zelle daneben (B1) ein Zellbezug von dem neuen blatt (z.B. =+'Test'!E17).
Danke für die Hilfe
Adrian
AW: Name abfragen und Erzeugung eines neuen Tabellenbl
29.07.2010 10:18:00
Tim
Hallo Excelprofi
nimm doch einfach den Makrorekorder und pass dann die Aufzeichnung an.
Grüße
Tim
AW: Name abfragen und Erzeugung eines neuen Tabellenbl
29.07.2010 10:28:48
ajbl
Danke für deine ausführliche Hilfe, auf die Idee bin ich auch schon gekommen. Die Abfrage, die ich benötige, lässt sich aber, wie du sicherlich weisst, mit dem Makrorecorder schlecht bewältigen. Ich dachte man könnte mein Anliegen in einem Makro zusammenfassen ohne die einzelnen Schritte über Makrorecorder aufzunehemn.
AW: Name abfragen und Erzeugung eines neuen Tabellenbl
29.07.2010 10:37:32
Tim
Hallo Adrian (so ist hier die offizielle Anrede)
Du willst also, daß sich hier im Forum einige die Köpfe mit Deinem Problem heiß machen. Mit Deinen dürftigen Angaben kann niemand was anfangen. Wie wäre es, wenn Du Dir die Mühe machen würdest, eine Beispieldatei mit Deinen genauen Wünschen hier einzustellen?
Vielleicht könnte Dir dann geholfen werden!
Grüße Tim (auch das gehört dazu)
Anzeige
AW: Name abfragen und Erzeugung eines neuen Tabellenbl
29.07.2010 11:04:49
ajbl
Hallo Tim,
es war nicht meine Absicht die Köpfe der Experten im Forum heiß zu machen, ich dachte mein Problem wäre für Experten, auch ohne Beispieldatei einfach zu lösen: eine Abfrage, mit dem Namen, der in der Abfrage eingegeben wurde ein neues Blatt erzeugen und diesen Namen auch in einem Gesamtblatt einzutragen. Es scheint doch nicht so einfach zu sein - sorry! Mir fehlen leider die VBA-Kenntnisse um hiermit ein Makro zu erzeugen.
Auch wenn mir nicht geholfen wurde - danke!
Gruß Adrian (ich bin lernfähig)
AW: Name abfragen und Erzeugung eines neuen Tabellenbl
29.07.2010 12:33:45
Heiko
Hallo Adrian,
mal so als Anfang:
Sub ajbl()
Dim strSheetName As String, strHelp As String
strSheetName = InputBox("Bitte geben Sie den Tabellenblattnamen an!", " Tabellenblattname ?", " _
Name ?")
If Len(strSheetName) > 0 Then
On Error Resume Next
strHelp = CStr(ActiveWorkbook.Worksheets(strSheetName).Range("A1"))
If Err.Number = 0 Then
On Error GoTo 0
If MsgBox("Ein Sheet mit dem Namen " & strSheetName & " gibt es schon! ÜBERSCHREIBEN ? _
", vbCritical + vbYesNo) = vbNo Then
Exit Sub
Else
On Error GoTo 0
Application.DisplayAlerts = False
ActiveWorkbook.Worksheets(strSheetName).Delete
Application.DisplayAlerts = True
End If
End If
On Error GoTo 0
ActiveWorkbook.Worksheets.Add.Name = strSheetName
ActiveWorkbook.Worksheets("Tabelle1").Range("A1") = strSheetName
ActiveWorkbook.Worksheets("Tabelle1").Range("B1").Formula = "=" & strSheetName & "!A1"
End If
End Sub

Gruß Heiko
Anzeige
AW: Name abfragen und Erzeugung eines neuen Tabellenbl
29.07.2010 14:35:00
ajbl
Hallo Heiko
danke, ich versuche das Makro an meine Tabelle anzupassen. Falls ich nicht weiterkommen sollte, melde ich mich.
Adrian
AW: Name abfragen und Erzeugung eines neuen Tabellenbl
29.07.2010 14:57:42
ajbl
Hallo Heiko,
1. funzt problemlos, allerdings bei den Zeilen, die ich mit einem Stern versehen habe, kommt ein Kompilierungsfehler, ich habe sie deaktiviert, ist es ok so?
2. ich würde gerne einen 2. Makro in deinem Makro einbinden (

Sub Create_New_Sheets()). Bei diesem Makro werden von einem Musterblatt die Daten in das  _
neuerzeugte Tabellenblatt hineinkopiert. Wie kann ich dieses Makro einbinden?
Danke
Adrian

Sub Test()
Dim strSheetName As String, strHelp As String
strSheetName = InputBox("Bitte geben Sie den Tabellenblattnamen an!", " Tabellenblattname ?", "  _
_Name ?")
If Len(strSheetName) > 0 Then
On Error Resume Next
strHelp = CStr(ActiveWorkbook.Worksheets(strSheetName).Range("A1"))
If Err.Number = 0 Then
On Error GoTo 0
* '       If MsgBox("Ein Sheet mit dem Namen " & strSheetName & " gibt es schon! ÜBERSCHREIBEN ? _
? _
", vbCritical + vbYesNo) = vbNo Then
Exit Sub
Else
On Error GoTo 0
Application.DisplayAlerts = False
*'            ActiveWorkbook.Worksheets(strSheetName).Delete
Application.DisplayAlerts = True
End If
End If
On Error GoTo 0
ActiveWorkbook.Worksheets.Add.Name = strSheetName
ActiveWorkbook.Worksheets("xyz").Range("A1") = strSheetName
ActiveWorkbook.Worksheets("xyz").Range("B1").Formula = "=" & strSheetName & "!A1"
*'End If
End Sub

Sub Create_New_Sheets()
Dim Zelle As Integer
Set NewSheet = Worksheets.Add
NewSheet.Name = "Neu"
Sheets("Neu").Move After:=Worksheets(Worksheets.Count)
Sheets("Muster").Select
Cells.Select
Selection.Copy
Sheets("Neu").Select
ActiveWorkbook.Sheets("Neu").Tab.ColorIndex = 6
ActiveSheet.Paste
Range("A1").Select
Sheets("Gesamt").Select
Range("J10").Select
For i = 1 To 60
If ActiveCell.Value  "" Then ActiveCell.Offset(1, 0).Select Else Exit For
Next i
ActiveCell.FormulaR1C1 = "=+'Neu'!R17C5"
Selection.NumberFormat = "#,##0.00"
End Sub

Anzeige
AW: Name abfragen und Erzeugung eines neuen Tabellenbl
29.07.2010 15:35:15
Heiko
Hallo Adrian,
zu 1.
* ' If MsgBox("Ein Sheet mit dem Namen " & strSheetName & " gibt es schon! ÜBERSCHREIBEN ? _
? _
", vbCritical + vbYesNo) = vbNo Then
das kommt durch die Darstellung im Forum, das muß alles in eine Zeile. Dito bei den anderen Zeilenumbrüchen.
If MsgBox("Ein Sheet mit dem Namen " & strSheetName & " gibt es schon! ÜBERSCHREIBEN ?" , vbCritical + vbYesNo) = vbNo Then
zu 2.
Sub Test()
Dim strSheetName As String, strHelp As String
Dim lngHelp As Long
strSheetName = InputBox("Bitte geben Sie den Tabellenblattnamen an!", " Tabellenblattname ?", " _
Name ?")
If Len(strSheetName) > 0 Then
On Error Resume Next
strHelp = CStr(ActiveWorkbook.Worksheets(strSheetName).Range("A1"))
lngHelp = Err.Number
On Error GoTo 0
If lngHelp = 0 Then
If MsgBox("Ein Sheet mit dem Namen " & strSheetName & " gibt es schon! ÜBERSCHREIBEN ? _
", vbCritical + vbYesNo) = vbNo Then
Exit Sub
Else
Application.DisplayAlerts = False
ActiveWorkbook.Worksheets(strSheetName).Delete
Application.DisplayAlerts = True
End If
End If
ActiveWorkbook.Worksheets.Add.Name = strSheetName
ActiveWorkbook.Worksheets(strSheetName).Move After:=ActiveWorkbook.Worksheets( _
ActiveWorkbook.Worksheets.Count)
ActiveWorkbook.Worksheets("xyz").Range("A1") = strSheetName
ActiveWorkbook.Worksheets("xyz").Range("B1").Formula = "=" & strSheetName & "!A1"
' Ab hier geht das dann mir dem Code aus dem 2. Makro weiter
ActiveWorkbook.Worksheets("Muster").Cells.Copy
ActiveWorkbook.Worksheets(strSheetName).Paste
' Den Rest muß dann mal selbst hier reinbringen, Übung macht den VBA Meister !!!
ActiveWorkbook.Worksheets(strSheetName).Range("A1").Select
Application.CutCopyMode = False
End If
End Sub

Gruß Heiko
Anzeige
AW: Name abfragen und Erzeugung eines neuen Tabellenbl
30.07.2010 10:28:28
ajbl
Hallo Heiko
habe meine Anpassungen vorgenommen, vielleicht sind es nicht die elgantesten VBA-Befehle, aber es funzt tadellos.
Vielen Dank für deine Hilfe
Adrian

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige