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

UserForm Monate anlegen

UserForm Monate anlegen
12.06.2003 13:14:44
Jochen
Hallo,

ich habe bereits eine bestehende UserForm mit der ich versch. Monate anlegen kann. Was mich daran noch stört ist:
Wie schaff ich es das der neue Monat automatisch ans Ende gesetzt wird. Bisher wird es immer hinter Sheet 9 eingefügt?

Dann noch: Wenn ein Monat schon vorhanden ist wird das Sheet nach einer Meldung wieder gelöscht, aber dazu kommt immer erst noch ein Speicher-Fenster, wie kann ich das umgehen damit es ohne Kommentar geschlossen wird?

Danke schon im voraus!

Jochen

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: UserForm Monate anlegen
12.06.2003 13:43:31
Lutz

Hallo Jochen,

so ganz verstehe ich Deine Frage nicht, wäre wohl mal interessant, wenn Du Deinen bisherigen Code der UF postest.

zu Einfügen am Ende: Worksheets(x).Copy after:=Worksheets(Worksheets.Count)

zu Monat vorhanden: welches Sheet wird hier gelöscht, ein Blatt mit gleichem Namen wird doch garnicht erst angelegt...

Gruß
Lutz


Re: UserForm Monate anlegen
12.06.2003 14:03:16
Jochen

Hallo,

anbei mal der Code:

Private Sub OK_Click()

'In diesem Beispiel wird ein neues Tabellenblatt nach dem letzten Blatt der aktiven Arbeitsmappe eingefügt.'

Sheets("Januar 2001").Select
Sheets("Januar 2001").Copy after:=Sheets(9)!!hier soll es nicht eingefügt werden, sondern am Ende!!!

Sheets("Januar 2001 (2)").Select
On Error GoTo ErrorHandler
Range("D3:G26").Select
Selection.ClearContents
Range("G1").Select
Selection.ClearContents
Range("D3").Select
Sheets(10).Select
Sheets("Januar 2001 (2)").Name = Abrechnung.M_Auswahl & " " & Abrechnung.Jahr
MsgBox "Der Name des aktiven Blattes lautet " & ActiveSheet.Name
MsgBox "Neue Vorlage angelegt, " & ActiveSheet.Name

Exit Sub

ErrorHandler:
MsgBox "Diesen Monat gibt es schon, bitte anderen auswählen!"
ActiveWindow.SelectedSheets.Delete !!Und hier, wenn versehentlich mal der gleiche Monat angeklickt wird!!!
End Sub

Anzeige
Re: UserForm Monate anlegen
12.06.2003 14:55:25
Lutz

Hallo Jochen,

probier mal so (Hab es aber nicht getestet):

Sheets("Januar 2001").Select
Sheets("Januar 2001").Copy after:=Worksheets(Worksheets.Count)

Sheets("Januar 2001 (2)").Select
On Error GoTo ErrorHandler
Range("D3:G26").ClearContents
Range("G1").ClearContents
Range("D3").Select
Sheets(10).Select
Sheets("Januar 2001 (2)").Name = Abrechnung.M_Auswahl & " " & Abrechnung.Jahr
MsgBox "Der Name des aktiven Blattes lautet " & ActiveSheet.Name
MsgBox "Neue Vorlage angelegt, " & ActiveSheet.Name

Exit Sub

ErrorHandler:
MsgBox "Diesen Monat gibt es schon, bitte anderen auswählen!"
Application.DisplayAlerts = False
ActiveWindow.SelectedSheets.Delete !!Und hier, wenn versehentlich mal der gleiche Monat angeklickt wird!!!
End Sub

Gruß
Lutz

Anzeige
Re: UserForm Monate anlegen
12.06.2003 15:14:05
Jochen

ich bin´s noch mal,

soweit geht es, nur noch ein kleines Problem,

nachdem der monat angelegt wurde, kam immer die Bestätigung z.B.
Monat "Juli 2003" angelget.... als MsgBox wie Du aus dem Code erkennen kannst.
Jetzt kommt dafür "neuer Monat November 00 erfolgreich angelegt" anstatt der aktuelle Monat,
den ich auch einmal angelegt habe, zu der Zeit. Wie bekomme ich das noch weg?

Zum anderen, die Meldung kommt nicht mehr, aber dafür legt er die Kopie, wie sie drin steht "Jannuar 2001 (2)" trotzdem an.
Wie bekommen wir das noch weg?


Re: UserForm Monate anlegen
12.06.2003 15:39:59
Lutz

Hi Jochen,

glaube, mir ist da noch ein Fehler unterlaufen.
Du mußt natürlich die Zeile "Sheets(10).Select" löschen, sonst wird das falsche Blatt gelöscht und die Kopie trotzdem angelegt.
Also so:

Sheets("Januar 2001").Select
Sheets("Januar 2001").Copy after:=Worksheets(Worksheets.Count)

Sheets("Januar 2001 (2)").Select
On Error GoTo ErrorHandler
Range("D3:G26").ClearContents
Range("G1").ClearContents
Range("D3").Select
Sheets("Januar 2001 (2)").Name = Abrechnung.M_Auswahl & " " & Abrechnung.Jahr
MsgBox "Der Name des aktiven Blattes lautet " & ActiveSheet.Name
MsgBox "Neue Vorlage angelegt, " & ActiveSheet.Name

Exit Sub

ErrorHandler:
MsgBox "Diesen Monat gibt es schon, bitte anderen auswählen!"
Application.DisplayAlerts = False
ActiveWindow.SelectedSheets.Delete !!Und hier, wenn versehentlich mal der gleiche Monat angeklickt wird!!!
End Sub

Wenn noch etwas nicht funzt, melde Dich noch mal.

Gruß
Lutz

Anzeige
Re: UserForm Monate anlegen
12.06.2003 16:18:59
Jochen

Hallo,

sehr schön, funzt, ist wirklich toll mit Profis zu arbeiten!

jetzt wäre nur noch der Schluß vom Code, wenn es den Monat schon gibt.
Das störende Fenster kommt zwar nicht mehr, aber die Kopie (Januar 2001 (2)) wird trotzdem angelegt, Bei so einem Fall soll das Sheet gleich gelöscht oder wieder geschlossen werden ohne Anlage/ Kommentar und die UserForm zur Auswahl eines neuen Monates wieder erscheinen.

Dann hätten wir´s.

Gruß
Jochen

Re: UserForm Monate anlegen
12.06.2003 16:43:38
Lutz

Habe mal die Sache nachgebaut, nur eine Textbox in die Userform eingefügt (wegen dem Monatsnamen).
Funzt ohne Probleme....
Kann Dir meine Testmappe ja auch mal mailen.
Hier noch mal der Code, den ich getestet habe:

Private Sub CommandButton1_Click()
Sheets("Januar 2001").Select
Sheets("Januar 2001").Copy after:=Worksheets(Worksheets.Count)

Sheets("Januar 2001 (2)").Select
On Error GoTo ErrorHandler
Range("D3:G26").ClearContents
Range("G1").ClearContents
Range("D3").Select
Sheets("Januar 2001 (2)").Name = TextBox1.Value 'Abrechnung.M_Auswahl & " " & Abrechnung.Jahr
MsgBox "Der Name des aktiven Blattes lautet " & ActiveSheet.Name
MsgBox "Neue Vorlage angelegt, " & ActiveSheet.Name
Unload Me

Exit Sub

ErrorHandler:
MsgBox "Diesen Monat gibt es schon, bitte anderen auswählen!"
Application.DisplayAlerts = False
ActiveWindow.SelectedSheets.Delete
End Sub

Gruß
Lutz

Anzeige
Re: UserForm Monate anlegen
13.06.2003 09:09:59
Jochen

Hallo,

sehr gut, funzt jetzt alles wunderbar! Vielen Dank


Re: UserForm Monate anlegen
13.06.2003 10:25:38
Jochen

Hallo,

da hätte ich noch was,

wäre es noch möglich nachdem der neue Monat angelegt wurde, ein
Fenster aufgeht darin ich dann den aktuellen Monat gleich eingeben z.B. Juli 2003 wurde erfolgreich angelegt danach dann das Fenster wo ich das Datum dann eingeben kann z.B. 01.07.2003 das dann automatisch gleich in Zelle C1 eingefügt wird?


Gruß
Jochen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige