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

VBA Code Anpassung

VBA Code Anpassung
11.02.2015 13:53:40
Ed
Hallo Zusammen!
Ich hab hier eine durch VBA Code gesteuerte Excel- Matrix, s. Link: https://www.herber.de/bbs/user/95682.xls
Der Quellcode kann angeschaut werden (wenn nicht, bitte kurz Bescheid geben)
Momentan ist es so gesteuert, dass die Datei geschlossen werden muss, damit die eingegebenen Daten gesichert werden.
Der Änderungswunsch ist: die zeilenweise erfolgende Datensicherung in der durch die Spalten B-K vorgegebenen Range soll beim Speichern erfolgen mit dem Klich auf den "Speichern" Button.
Die anderen Bedingungen sollen beibehalten werden, also die Überprüfungsschleife, ob alle Zellen / Felder der aktuellen Zeile ausgefüllt sind und der Sprung in die nächste Zeile nach der Eingabensicherung, etc.
Vom Gefühl her weiß ich, dass diese Anpassung für einen Kenner kaum Aufwand bedeutet.
Leider bin ich in der VBA Prog. nicht bewandert, deswegen brauche ich Eure HIlfe!
Viele Grüße und besten Dank im voraus!
Ed

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Code Anpassung
11.02.2015 14:19:38
Ed
'

AW: VBA Code Anpassung
11.02.2015 18:23:58
Christian
hallo Ed,
ohne deinen Code jetzt näher betrachtet zu haben ...
... soll beim Speichern erfolgen mit dem Klick auf den "Speichern" Button.
Dann musst du den entsprechenden Code in das "Workbook_BeforeSave"-Ereignis schreiben und nicht (oder nicht nur) in "Workbook_BeforeClose".
Gruß
Christian

AW: VBA Code Anpassung
12.02.2015 14:14:06
Ed
Hallo Christian,
grundsätzlich kann ich deinem Vorschlag folgen. Ich weiß bloß nicht wie bzw. wo exakt ich dies im Code machen müsste. Habe bißchen rumprobiert ohne das (richtige) Ergebnis allerdings. Hier bin ich auf Hilfe angewiesen.
Des Weiteren hab ich noch eine Frage: eines der zehn Kriterien in der Matrix ist "Datum". Zwecks Zeiteinsparung habe ich in entsprechender Spalte die Formel 'Heute' hinterlegt, damit das Datum in der auszufüllenden Zeile automatisch übernommen und eingeblendet wird. Das tut es auch, bloß dummerweise auch in den bereits gesicherten Zellen! Sprich ich sehe dann überall auch in den älteren Zeilen das aktuelle Datum anstatt des Eingabedatums. Kann man den Mechanismus mit automatischer Übernahme des aktuellen Datums beibehalten (evtl. direkt im Code verankert) ohne dass die beschriebene Problematik zu Tage tritt?
Gruß
Ed

Anzeige
AW: VBA Code Anpassung
12.02.2015 18:29:15
Christian
Hallo Ed,
die beiden oben genannten Prozeduren findest du im Klassenmodul von "DieseArbeitsmappe"
Zum Thema Zeitstempel:
trage in die entsprechende Zelle per VBA das aktuelle Datum als Wert (nicht als Formel) ein.
Bsp in E7:
cells(7, 5) = Date
oder inkl Uhrzeit:
cells(7, 5) = Now
Gruß
Christian

VBA Code Anpassung for Dummies...
13.02.2015 08:33:19
Ed
Hi, Christian.
Sei mir nicht bös, aber ich bin halt eine absolute Niete in VBA progr. Den vorliegenden Code hatte ich ja auch von einem Blogger netterweise zur Verfügung gestellt bekommen.
Im Modul habe ich mich schon umgeschaut, da gibt´s halt nur folgende Blocks: Sub SaveFile(); Sub sbProtect() und die Function fcNotAllCells() As Boolean.
Wenn´s also geht, zeig´s mir bitte direkt, an welcher Stelle bzw. in welchem Sub ich sowohl die Datensicherung als auch den Datumstempel unterbringen soll. Vor allem, soweit ich´s richtig auffasse, müsste es auch so eine Art loop geben, denn die Regelung soll ja für jede nachfolgende Zeile greifen. Sagen wir, es soll immer für die Spalte E (5) und beliebig viele Zeilen gelten.
Kannst Du den Code über den ursprünglichen Link dir nochmal anschauen oder soll ich den als Text direkt hier reinkopieren?
Gruß
Ed

Anzeige
AW: VBA Code Anpassung for Dummies...
14.02.2015 13:12:39
Christian
Hallo Ed,
wie schon gesagt - nicht in Modul1, sondern in "DieseArbeitsmappe"
Nein, es gibt kein Loop, denn du speicherst jeden Datensatz nach Eingabe.
Aber zum einen ist dein Code ziemlich verbaut und zum anderen ist das Thema nicht ganz einfach...
Denn du willst ja nur vollständige Datensätze speichern können. Gleichzeitig musst du beim Beenden aber speichern, um alle Blätter bis auf "ohne Makros" wieder auszublenden. Vorhandene Datensätze ändern geht dabei nicht, da du die Zellen schützt - ist IMO alles recht unbequem...
Ich würde das anders aufbauen und für die Eingabe Userformulare verwenden.
Gruß
Christian
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige