PDA

Vollständige Version anzeigen : "Hits" einer EXCEL-Liste als MSG-Box anzeigen lassen


ülü
07.07.2006, 09:22
Guten Morgen Forum,

ich habe eine Liste, die derzeit von "oben" etwas belächelt wird. Den Benutzern aber sehr hilft. Um die Akzeptanz dieser Liste zu gewährleisten, habe ich mir Folgendes gedacht:
User macht die Liste auf und in einer MsgBox wird die Anzahl der bisherigen hits angezeigt. Diese würde dann sicher die Chefs überzeugen.

Ich würde gerne schon ein paar code-Versuche als Anhaltspunkt mitliefern. Aber leider verfüge ich nicht mehr, als das Grundwissen, wie ich einen VBA-Code in EXCEL einfüge.
Ich hoffe, Ihr könnt mir auch trotzdem weiterhelfen.

Gruß

ülü

myfake
07.07.2006, 09:46
Hallo ülü,

das ließe sich bspw. so erreichen:
<div><link href="http://www.ms-office-forum.net/forum/externals/codeconv.css" rel="stylesheet"><pre><span class="TOKEN">Private Sub</span> Workbook_BeforeClose(Cancel <span class="TOKEN">As</span> <span class="TOKEN">Boolean</span>)
&nbsp;
<span class="TOKEN">With</span> Sheets(&quot;Datei_ge&ouml;ffnet&quot;)
.Range(&quot;A1&quot;).Value = .Range(&quot;A1&quot;).Value + 1
.Visible = xlVeryHidden
<span class="TOKEN">End</span> <span class="TOKEN">With</span>
&nbsp;
<span class="TOKEN">End</span> <span class="TOKEN">Sub</span>
&nbsp;
&nbsp;
<span class="TOKEN">Private Sub</span> Workbook_Open()
MsgBox &quot;Datei wurde bereits &quot; &amp; Sheets(&quot;Datei_ge&ouml;ffnet&quot;).Range(&quot;A1&quot;).Value &amp; &quot; mal ge&ouml;ffnet&quot;
<span class="TOKEN">End</span> <span class="TOKEN">Sub</span></pre></div>
Code eingefügt mit dem MOF Code Converter (http://www.ms-office-forum.net/forum/codeconverter.php)

Den Code unter "DieseArbeitsmappe" einfügen.

cu
myfake

ülü1
07.07.2006, 09:59
Hallo myfake,

vielen herzlichen Dank, dass Du Dir der Sache angenommen hast.
Leider muss ich zugeben, dass ich den code nicht zum Laufen bringen. EXCEL bringt mir "Laufzeitfehler 9: Index außerhalb des gültigen Bereichs.
Das ich nächstes Mal vielleicht schon etwas kompetenter in Sachen VBA bin, was bedeutet das ("Datei geöffnet"). Der Name der EXCEL-Liste? Hab ich aber auch schon probiert, beim debuggen. Leider immer noch LZF 9.

Könntest Du vielleicht noch einmal mir helfen?

VIELEN Dank im Voraus

myfake
07.07.2006, 10:10
Hallo ülü,

"Datei_geöffnet" ist der Name des Sheets auf dem die Öffnungsvorgänge gespeichert werden. D.h., Du mußt ein Sheet mit diesem Namen einfügen.


beim "aktuellen" Code muß der Anwender noch am Ende eine Speicherung des (auf Sheet "Datei_geöffnet") geänderten Wertes bestätigen.

Mit diesem Code ...
<div><link href="http://www.ms-office-forum.net/forum/externals/codeconv.css" rel="stylesheet"><pre><span class="TOKEN">Private Sub</span> Workbook_BeforeClose(Cancel <span class="TOKEN">As</span> <span class="TOKEN">Boolean</span>)
&nbsp;
<span class="TOKEN">With</span> Sheets(&quot;Datei_ge&ouml;ffnet&quot;)
.Range(&quot;A1&quot;).Value = .Range(&quot;A1&quot;).Value + 1
.Visible = xlVeryHidden
<span class="TOKEN">End</span> <span class="TOKEN">With</span>
&nbsp;
ActiveWorkbook.Close savechanges:=True
&nbsp;
<span class="TOKEN">End</span> <span class="TOKEN">Sub</span></pre></div>
Code eingefügt mit dem MOF Code Converter (http://www.ms-office-forum.net/forum/codeconverter.php)

... wird automatisch gespeichert.
ACHTUNG: alle Eingaben/Änderungen die zuvor gemacht wurden werden gespeichert. D.h., wenn Dir jemand die Datei (Formeln, Formatierungen, etc.) zerschießt, kann er die Datei nicht ohne zu speichern verlassen!


cu
myfake

ÜLÜ
07.07.2006, 10:37
Hallo myfake,

jetzt funkt es. VIELEN VIELEN VIELEN Dank noch einmal.
Will jetzt nicht unverschämt werden, dass ich so einen auf "Auftragsprogrammierer" mach. Aber ich hab noch eine Sache zu der Liste.
Wenn ich nun die Liste öffne, etwas nur durchlesen möchte, also keine Änderungen vornehme und dann die Frage nach "Änderungen speichern" mit Nein beantworte, zählt er mir dieses "nur Anschauen" nicht mit. Aber gerade da liegt fast der gesamte Sinn der Liste. Wenn die Leute etwas per Filter suchen, dann finden, dann lesen und wieder raus möchten, machen die garantiert in 9 von 10 Fällen ein "Nein" und damit wird nicht mitgezählt.

ÜLÜ

myfake
07.07.2006, 10:48
Hallo ülü,

ich habe vorhin oben noch eine editierte Version des Codes eingestellt, bei dem eben dies nicht passiert (ABER: eben auch mit den dargestellten "Nebenbedingungen" ;) ).

Schau doch mal, ob die Nachteile einer solchen Lösung für Dich akzeptabel sind.

cu
myfake

ÜLÜ
07.07.2006, 12:23
myfake,

ich weiß gar nicht, wie ich Dein Engagement würdigen kann. Hast jedenfalls sehr gute Hilfe geleistet und das genau nach Deinem Bild-Motto mit der Hand.

Ich baue jedenfalls einfach noch ne MsgBox ein, in der die Proplematik kurz beschrieben wird, bevor user auf schließen geht.

Also, noch einmal, vielen Dank für die Hilfe.

ülü