| |
| Was bringt der 3D-Druck in der Elektronik?, eine Pressemitteilung
|
Autor
|
Thema: Arbeitsgruppenvorlage mit auto. Zähler (1291 mal gelesen)
|
LK36 Ehrenmitglied MB-Techniker / Konstruktion
Beiträge: 1799 Registriert: 14.03.2002
|
erstellt am: 22. Nov. 2003 08:19 <-- editieren / zitieren --> Unities abgeben:
Hallo Excelisten, wir möchten auf dem Server eine Excelvorlage ablegen, in der es eine Feld gibt, wo ein Zähler jedesmal beim speichern um eins erhöht wird, der Rest der Vorlage aber unverändert bleibt. Also der User öffnet die Vorlage, dort steht vom letzten Zugriff z.B. Dokument Nr. 0815. Er speichert nun diese Vorlage unter anderem Namen ab und der Zähler springt auf Dokument Nr. 0816. Nun bearbeitet der User die restlichen Informationen in der neuen Tabelle (das kann dann aber auch noch öfter mal passieren) die vergebene Dok. Nr. 0816 bleibt nun aber unverändert. Ein andere User öffnet die Vorlage und der Zähler springt auf 0817, usw. ! Ist praktisch wie wenn man in einem Fakturierungsprogramm Rechnungen schreibt und jede neue Rechnung eine fortlaufende Nummer bekommt, um die sich der User nicht kümmern muss - die einmal vergebene Re-Nr. bleibt immer gleich, auch wenn man an den Pos. irgendwas ändert! Wie machen wir das ? ------------------ Lutz [Diese Nachricht wurde von LK36 am 22. Nov. 2003 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
pablo Mitglied Techniker
Beiträge: 453 Registriert: 23.01.2002 Win10 Office 365 SE 2020
|
erstellt am: 22. Nov. 2003 12:03 <-- editieren / zitieren --> Unities abgeben: Nur für LK36
Hallo LK36, mit dem folgenden Code in 'DieseArbeitsmappe'. Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) ' Überprüfen, ob der Speichern Unter Dialog angezeigt wird If SaveAsUI Then ' Zähler um 1 erhöhen Sheets(1).Cells(1, 1).Value = CLng(Sheets(1).Cells(1, 1).Text) + 1 End If End Sub HTH pablo Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
startrek Moderator Architekt
Beiträge: 1361 Registriert: 13.02.2003 .
|
erstellt am: 22. Nov. 2003 17:59 <-- editieren / zitieren --> Unities abgeben: Nur für LK36
|
pablo Mitglied Techniker
Beiträge: 453 Registriert: 23.01.2002
|
erstellt am: 23. Nov. 2003 09:42 <-- editieren / zitieren --> Unities abgeben: Nur für LK36
Hallo Nancy, mir ist nur eingefallen, Cancel auf true zu setzen und den SaveAs Dialog mit dem CommonDialog-Steuerelement zu übernehmen, damit könnte man das Abbrechen abfangen, aber gefallen tut es mir nicht :-( pablo Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
LK36 Ehrenmitglied MB-Techniker / Konstruktion
Beiträge: 1799 Registriert: 14.03.2002 i9 12x3.6/4.5Ghz / 64GB-RAM(1600) / Gef.-RTX 3060-12GB / SpaceNavigator / Win10-64Pro / Inv.2025 Pro
|
erstellt am: 24. Nov. 2003 09:13 <-- editieren / zitieren --> Unities abgeben:
|
startrek Moderator Architekt
Beiträge: 1361 Registriert: 13.02.2003 .
|
erstellt am: 24. Nov. 2003 11:08 <-- editieren / zitieren --> Unities abgeben: Nur für LK36
Hallo Lutz, die Sache ist die, dass - insbesondere wenn viele User auf die Mappe zugreifen - Euch hier die Tücke des Objektes brutalst erwischen kann Gegenvorschlag: Du sagst uns, ob Du immer die komplette Mappe sichern willst, ergo schleppen natürlich alle User die Makros mit durch ..., das wäre die komplizierte Variante. Oder es reicht Dir, wenn nur ein/die Sheet(s) der Vorlage gespeichert werden soll (und ob evtl. die Dinger Makros haben oder nicht) Denke so rum isses besser lg Nancy
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
startrek Moderator Architekt
Beiträge: 1361 Registriert: 13.02.2003 .
|
erstellt am: 24. Nov. 2003 11:57 <-- editieren / zitieren --> Unities abgeben: Nur für LK36
Nochmal ich, silly me, noch zu deiner Frage: Wechsle in xls in den VBE via 'Alt' + F11 dort siehst Du im 'Projektexplorer' (ggf. unter 'Ansicht aktivieren)dein VBA-Projekt. Dort gibt es ua. einen Ordner/Modul *** Diese Arbeitsmappe ***, doppelklicke darauf. In das Fenster, was nun erscheint kopiere Pablos Code. HTH Nancy Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
startrek Moderator Architekt
Beiträge: 1361 Registriert: 13.02.2003 .
|
erstellt am: 24. Nov. 2003 14:21 <-- editieren / zitieren --> Unities abgeben: Nur für LK36
AUTSCH, das tat weh ..., geschlafen SaveAs hat die unangenehme Eigenschaft, die Originaldatei ohne Speichern zu schliessen, in der neuen *.xls sind zwar jetzt die Änderungen da, aber eben nicht in der Vorlage. Nimm dies: Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) ' Überprüfen, ob der Speichern Unter Dialog angezeigt wird If SaveAsUI Then ' Zähler um 1 erhöhen Sheets(1).Cells(1, 1).Value = CLng(Sheets(1).Cells(1, 1).Text) + 1 'aktive Mappe vor dem Schliessen speichern If Not ActiveWorkbook.Saved Then ActiveWorkbook.Save End If End Sub Die 'tricky' Sache mit dem 'abbrechen' ist damit nicht aus der Welt ...
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Andreas H. Mitglied Elektrokonstrukteur
Beiträge: 85 Registriert: 25.04.2003
|
erstellt am: 25. Nov. 2003 06:07 <-- editieren / zitieren --> Unities abgeben: Nur für LK36
Hallo, habe eine Weile zugehört... Warum nicht einfach ein Button oder ein Auto-Start-Makro, der alles erledigt: * Zähler erhöhen * Speichern der Vorlage * Speichern der Vorlage unter einem neuen Namen Idealerweise bleibt dann die Kopie geöffnet, so dass amn gleich damit arbeiten kann und an der Vorlage fummelt niemand rum! ------------------ Gruss Andreas Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
LK36 Ehrenmitglied MB-Techniker / Konstruktion
Beiträge: 1799 Registriert: 14.03.2002 i9 12x3.6/4.5Ghz / 64GB-RAM(1600) / Gef.-RTX 3060-12GB / SpaceNavigator / Win10-64Pro / Inv.2025 Pro
|
erstellt am: 25. Nov. 2003 08:01 <-- editieren / zitieren --> Unities abgeben:
Guten Morgen, habe das mit dem VBE zwar hin bekommen, jedoch kommt noch ne Fehlermeldung. Bevor wir hier lange hin und her rätseln eine Bitte : könnt ihr nicht so eine Tabelle mal hier reinstellen (Endung umbennant in "txt") damit wir die gleiche Basis haben ? Wie gesagt, ich bin halt nur ein "einfacher User" ! ------------------ Lutz Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
startrek Moderator Architekt
Beiträge: 1361 Registriert: 13.02.2003 .
|
erstellt am: 25. Nov. 2003 17:07 <-- editieren / zitieren --> Unities abgeben: Nur für LK36
Hallo zusammen, ori_1: ... enthält Pablo's Code, der ausgelöst wird mit F12 bzw. Speichern unter ori_2: ... in etwa Andreas'aber ohne Button, auszulösen mit 'Strg' + 'u' kurz zur Erklärung: der Nachteil liegt am Pfad, was also via F12 frei wählbar bezieht sich hier momentan nur auf den aktuellen (Ordner)Pfad. Aber es geht ja erstmal um's Prinzip. Die Makros sind definitiv gelöscht, sobald die 'neue' Datei 1x gespeichert wurde, ginge auch mit workbook_open, aber da hätten wir ja wieder ein Makro drin ;-) CU Nancy Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
startrek Moderator Architekt
Beiträge: 1361 Registriert: 13.02.2003 .
|
erstellt am: 25. Nov. 2003 19:22 <-- editieren / zitieren --> Unities abgeben: Nur für LK36
... ein dritter & letzter Ansatz mit F12 Cancel auf True, Das mit dem Modul löschen habe ich auskommentiert, Diese Fehlermeldung in den Kopien krieg ich nicht gehandelt, vielleicht hat jemand eine Idee? Würde mich interessieren. Nochwas, IMHO die 'wirklich sicherste' Sache, da das Wort Fakturierung fiel. [Diese Nachricht wurde von startrek am 25. Nov. 2003 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |