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

Code durch Code einfügen

Code durch Code einfügen
Jörg-HH
Hallo Excelgemeinde
im Archiv fand ich wenig zu meinem Problem, und das Wenige verstehe ich nicht ;-((
Ich habe eine größere Mappe als Mutterdatei, aus der automatisiert durch Löschen aller Blätter bis auf eins ein Formular entsteht. Dies wird als Ausschreibungsunterlage per Email verschickt.
Es soll beim Öffnen dieser Ausschreibungsdatei beim Empfänger eine Inputbox erscheinen, in die er seinen Firmennamen eingibt.
Das ließe sich ja einfach lösen, indem ich in der Mutterdatei bei DieseArbeitsmappe im Workbook_Open zB InputBox "Bitte geben Sie Ihren Firmennamen ein" hinterlege. Leider erscheint diese Box auch dann, wenn die Mutterdatei geöffnet wird.
Ich will also den Code für die InputBox erst dann einbauen, wenn die Ausschreibungsdatei erstellt wird, also zB durch den Code, der die Blätter löscht. Dafür wüßte ich gern die Syntax, die dafür sorgt, daß in einem bestimmten Modul einige Zeilen eingefügt werden.
Kann mir jemand auf die Sprünge helfen?
Grüße - Jörg

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Code durch Code einfügen
08.07.2009 13:33:22
Stefan
Hmm, leider weiß ich nicht, ob das möglich ist.
Andererseits, kannst du das vielleicht an der Anzahl der Reiter festmachen?
wenn nur ein Reiter verfügbar ist, dann bring die box, ansonsten spiele Mutterdatei oder so.
Ich würde so rum ran gehen....
Gruß,
Stefan
AW: Code durch Code einfügen
08.07.2009 14:45:36
Horst
Hi,
ins Modul von "DieseArbeitsmappe":
Private Sub Workbook_Open()
If Me.Sheets.Count = 1 Then
MsgBox "OK"
'Hier die Inputbox statt MsgBox
End If
End Sub

mfg Horst
Me.Sheets.Count verhallt ohne Wirkung :-(
08.07.2009 20:36:17
Jörg-HH
Hallo Horst,
danke für deine Idee - ich hab deinen Vorschlag mal eingebaut, mit einer kleinen Änderung bei Count. Seltsamerweise wird das völlig ignoriert: Obwohl ich hundert Blätter habe, erscheint die Inputbox.
So sieht das in der Workbook_Open Proz aus:
Dim FileSaveNameAnbieter As Variant
Dim MldgFa As String
Dim strAnbieterName As String
MldgFa = "Bitte geben Sie Ihren Firmennamen ein"
strAnbieterName = InputBox(MldgFa, "Speicherhilfe")
If Me.Sheets.Count > 3 Then
Exit Sub
ElseIf strAnbieterName = "" Then
Exit Sub
Else
FileSaveNameAnbieter = Application.GetSaveAsFilename(InitialFileName:=strAnbieterName, FileFilter:="Microsoft Excel-Arbeitsmappe (*.xls), *.xls", Title:="Dateiname für die Ausschreibung")
End If
Jetzt wollte ich einen Haltepunkt setzen, aber beim Workbook_Open geht das wohl nicht? Jedenfalls ist er nach Speichern und Öffnen verschwunden.
Frage 1: Warum wird nicht bei If Me.Sheets.Count > 3 Then die Proz verlassen?
Frage 2: Die Speicherung soll auch den bereits vorhandenen Dateinamen beinhalten - das strAnbieterName soll also hinzugesetzt werden. Mit welchem Befehl hole ich mir denn den aktuellen Dateinamen?
Grüße, Jörg
Anzeige
AW: Me.Sheets.Count verhallt ohne Wirkung :-(
09.07.2009 13:49:30
Stefan
ne, das wird nicht klappen.
Mach einfach am anfang sowas wie "asdf" oder so rein, speichers ab. beim öffnen kann dann nicht kompiliert/interpretiert werden und der code stoppt. dann löscht du das wieder raus und schon kannst alles debuggen... :)
Haltepunkt
09.07.2009 15:39:40
Jörg-HH
gute Idee, Stefan - danke.
Inzwischen hab ich übrigens auch erkant, warum If Me.Sheets.Count > 3 Then nicht zu exit führt: Es sitzt schlicht an der falschen Stelle. Es muß vor der Inputbox stehen.
Gruß Jörg

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige