Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1440to1444
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
Makro nur über "UserForm" ausführen startbar
19.08.2015 20:56:47
Vivi
Hallo zusammen,
ich bin derzeit dabei, ein Makro zu schreiben, das automatisch alle Differenzen zwischen verschiedenen Datumsangaben berechnet und ausgibt. Die Daten stehen in meiner Datei immer in Spalte 5 (also E) und sind in amerikanischem Datumsformat angegeben.
Da sich die Anzahl der Daten mit jeder Datei ändern kann (mal gibt es 11 Einträge, mal 400), lasse ich den User vorher angeben, wie viele Datensätze er gerade anschaut (in der Textbox "DataQuant"). Daraufhin soll das Makro Spalte E durchgehen und für jede zwei untereinander stehende Daten die jeweilige Differenz ausgeben (rollierend bis es zur letzten Zeile kommt).
Hintergrund ist die Berechnung einer Mean Time Between Failure Kennzahl, falls das zum Verständnis hilft.
Mein Code sieht derzeit folgendermaßen aus:

Sub MTBF()
Dim quantity As Double, row As Long, i As Long, c As Long
quantity = Val(ThisWorkbook.Sheets("Commands").DataQuant.Text)
row = 1
For i = 2 To quantity - 1 Step 1
c = DateDiff("d", Cells(i, 5), Cells((i + 1), 5))
row = row + 1
ThisWorkbook.Worksheets("Data").Cells(row, 16) = c
c = c + 1
Next i
End Sub

Nun zum eigentlichen Problem: Das Makro soll ausgeführt werden, wenn der User auf einen CommandButton klickt. Es läuft zwar ohne Probleme durch, gibt aber nur 0 als Ergebnis der Differenzen zwischen den Daten aus. Er berechnet es aber dann richtig, wenn man das Makro über den Quellcode startet (also über diesen grünen Play-Pfeil namens "Sub/UserForm ausführen". Woran liegt das? Wie krieg ich das gelöst?
Vielen Dank und liebe Grüße!

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro nur über "UserForm" ausführen startbar
19.08.2015 21:17:54
Sepp
Hallo Vivianne,
stell in den Eigenschaften des CommandButtons "TakeFocusOnClick" auf False.
Gruß Sepp

AW: Makro nur über "UserForm" ausführen startbar
19.08.2015 21:31:06
Vivi
Ich habe den Fehler gefunden.
Hätte für Datedif ebenfalls angeben sollen, dass sich diese Funktion auf Tabellenblatt "Data" bezieht. Sorry, und vielen Dank :-)
Anzeige

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige