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

dynamische Caption-Eigenschaft dauerhaft

dynamische Caption-Eigenschaft dauerhaft
dave
Hallo zusammen,
ich habe eine Userform (Dateiliste), mit der ich (unter anderem) eine häufig benutzte Datei per Schaltfläche aufrufe, die es aber jeden Monat in einer neuen Version gibt.
Deswegen versehe ich die betreffende Schaltfläche mit einem Label, welches dann ausgewertet wird:
Caption aktuell: NRT DW 2012-05
Private Sub NRT_DW_Click()
Dim Lbl As String
Unload Dateiliste
Lbl = NRT_DW.Caption
Lbl = Right(Lbl, 7)
Workbooks.Open filename:="S:\...\2012\" & Replace(Lbl, "-", "_") & "\NRT " & Lbl & ".xlsx"
End Sub
Um das Label nicht per Hand ändern zu müssen, wollte ich einen "Aktualisierungs-Button" erstellen. Das funktioniert auch mit dem folgenden Code:
Private Sub CommandButton1_Click()
Dim Lbl As String
Lbl = NRT_DW.Caption
Lbl = InputBox("neuer Name", , Lbl)
NRT_DW.Caption = Lbl
End Sub
Nun habe ich aber festgestellt, dass das Label beim Neustart des Formulars "Dateiliste" wieder auf dem ursprünglichen Wert steht, d.h. der per Inputbox neu vergebene Name wird nur zur aktuellen Laufzeit verwendet und anschließend wieder "zurückgesetzt".
Läßt sich dieses Verhalten ändern, damit das Label dauerhaft geändert wird und wenn ja, wie?
Danke und Gruß
David
AW: dynamische Caption-Eigenschaft dauerhaft
13.06.2012 11:07:37
Rudi
Hallo,
warum suchst du nicht einfach die 'frischeste' Datei im Ordner?
Oder immer die des akt. Monats?
Private Sub NRT_DW_Click()
Dim Lbl As String
Unload Dateiliste
Lbl = Format(Date,"YYYY-MM")
Workbooks.Open filename:="S:\...\2012\" & Replace(Lbl, "-", "_") & "\NRT " & Lbl & ".xlsx"
End Sub
Gruß
Rudi
AW: dynamische Caption-Eigenschaft dauerhaft
13.06.2012 11:13:11
dave
Hi Rudi,
wäre sicher eine Überlegung wert. Leider ist der Zeitpunkt der Dateierstellung variabel, d.h. ich müsste dann noch Fehlerroutinen einbauen, wenn der Aufruf ins Leere geht.
Auch ist ja immer wieder ein neuer Ordner betroffen, so dass ich nicht einfach alle Dateien im Verzeichnis nach Datum abrufen kann.
Der Zweck meiner Frage war allerdings eher der, die Systematik zu verstehen, ob das Verhalten so gewollt ist oder ob ich nur etwas falsch angehe, um dieses Wissen zukünftig einsetzen zu können.
Danke und Gruß
David
Anzeige
AW: dynamische Caption-Eigenschaft dauerhaft
13.06.2012 11:07:38
Beverly
Hi David,
wenn der Inhalt nur für die jeweilige Excel-Session "dauerhaft" sein soll, dann schreibe ihn auf eine Public-Variable. Soll der Inhalt tatsächlich "permanent" gespeichert werden, dann schreibe ihn in eine Zelle im Tabellenblatt.


AW: dynamische Caption-Eigenschaft dauerhaft
13.06.2012 11:15:18
dave
Hi Beverly,
der Wert soll wirklich permanent gespeichert sein. Da die UF "überall" zur Verfügung stehen soll, müsste ich dann die personl.xls als Speicherort nehmen.
Danke für den Tip.
Gruß
David
AW: dynamische Caption-Eigenschaft dauerhaft
13.06.2012 11:09:20
ChrisL
Hi Dave
Du musst den Wert irgendwo zwischen speichern. Im Beispiel Tabelle1, Zelle A1. Die Tabelle kannst du ausblenden.
Private Sub CommandButton1_Click()
Dim Lbl As String
Lbl = NRT_DW.Caption
Lbl = InputBox("neuer Name", , Lbl)
NRT_DW.Caption = Lbl
Worksheets("Tabelle1").Range("A1") = Lbl
End Sub
Private Sub UserForm_Initialize()
NRT_DW.Caption = Worksheets("Tabelle1").Range("A1")
End Sub

Der Wert bleibt natürlich nur gespeichert, wenn auch die Datei nach Änderung des Labels gespeichert wird.
cu
Chris
Anzeige
AW: dynamische Caption-Eigenschaft dauerhaft
13.06.2012 11:16:45
dave
Hi Chris,
danke, dieser Tip kam auch schon von Beverly - siehe meine Antwort dort.
Gruß
David
AW: dynamische Caption-Eigenschaft dauerhaft
13.06.2012 11:10:07
guentherh
Hallo David,
Vorschlag, speichere Deinen Wert Doch in einem Namen, und belege die Caption beim Öffnen der Datei
Private Sub CommandButton1_Click()
Dim Lbl As String
Lbl = NRT_DW.Caption
ActiveWorkbook.Names.Add Name:="DateiLabel", RefersTo:= InputBox("neuer Name", , Lbl)
Lbl = Evaluate(ActiveWorkbook.Names("DateiLabel").RefersTo)
NRT_DW.Caption = Lbl
End Sub
+ Eintrag in ...Open:
Lbl = Evaluate(ActiveWorkbook.Names("DateiLabel").RefersTo)
NRT_DW.Caption = Lbl
Gruß,
Günther
Anzeige
AW: dynamische Caption-Eigenschaft dauerhaft
13.06.2012 11:25:34
dave
Hi Günther,
läuft auch darauf hinaus, eine Datei im Hintergrund zu haben, was hier nicht der Fall ist.
Der Vorschlag von Beverly erscheint mir dazu am einfachsten, viel mehr wäre wohl eher "mit Kanonen auf Spatzen geschossen".
Danke und Gruß
David
AW: dynamische Caption-Eigenschaft dauerhaft
13.06.2012 11:41:08
guentherh
Your Choice!
Ob Du einen Namen oder eine Zelle nimmst ist eine Frage der unmittelbaren Sichtbarkeit und deiner Vorlieben. Den Unterschied in der Geschossgröße habe ich dabei nicht erkannt ;-)
Gruß,
Günther
AW: dynamische Caption-Eigenschaft dauerhaft
13.06.2012 11:25:43
guentherh
Ergänzung:
lässt sich natürlich auch in einer anderen Datei ablegen - Workbooks("personl.xls").names...- oder auch mit savesetting / getsetting in der Registry
Gruß,
Günther
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige