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

Timer

Timer
18.06.2020 15:21:37
KathrinBo
Hallo zusammen,
mit der Hilfe von Nepumuk habe ich vor ein paar Tagen bereits einen Timer erstellt.
Ich möchte aus Tabellenblatt 1 ab Spalte C, 10 Zeilen ab Zeile 18 (Länge ist 16 Spalten) in Hilfstabelle kopieren. Das ganze soll aufhören, wenn in Spalte C keine Daten mehr sind.
Jetzt habe ich ein Problem: Meine Daten werden nicht aus Tabellenblatt 1 kopiert sondern aus einem völlig anderen, weiß jemand, was ich falsch mache? Die Reihenfolge der Daten scheint mir auch völlig wirr.
Dim blnStopp As Boolean
Sub BerechnungStarten()
blnStopp = False
Call Berechnung
End Sub

Sub Berechnung()
If Not blnStopp Then
Application.StatusBar = Format(Now, "DD.MM.YYYY HH:MM:SS")
Application.OnTime Now + TimeValue("00:10:00"), "Berechnung"
If slngRow = 0 Then slngRow = 18
With ThisWorkbook.Worksheets("Tabellenblatt 1")
.Cells(slngRow, 3).Resize(10, 16).SpecialCells(xlCellTypeFormulas).Copy Destination:= _
Worksheets("Hilfstabelle").Cells(1, 1)
slngRow = slngRow + 10
If slngRow > .Cells(.Rows.Count, 3).End(xlUp).Row Then slngRow = 0
End With
Call Aktualisieren
Else
Application.StatusBar = False
End If
End Sub

Sub BerechnungStopp()
blnStopp = True
End Sub
Vielen Dank für eure Hilfe schonmal!
Kathrin

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Timer
18.06.2020 17:28:07
ralf_b
ohne Beispieldatei unmöglich zu sagen was dir da nicht passt.
was macht die sub "Aktualisieren"?
Die Daten kommen aus dem vermeintlichen "Tabellenblatt 1". Wenn du anderer Meinung bist, dann sag mal aus welchem.
"Das ganze soll aufhören, wenn in Spalte C keine Daten mehr sind." Ich erkenne keine Schleife in deinem Programmcode.
woher kommt der Wert für "slngRow" ?
AW: Timer
21.06.2020 14:36:29
KathrinBo
Hallo Ralf,
entschuldige die späte Antwort! Du hast Recht, so ganz war mein Makro noch nicht ausgeklügelt. Hier ist eine aktualisierte Variante, die alte Datei war beschädigt, deshalb wahrscheinlich auch die komischen Fehler.
Sub Berechnung()
Dim a As Byte
Dim letzteZeile As Byte
If Not blnStopp Then
Application.StatusBar = Format(Now, "DD.MM.YYYY HH:MM:SS")
Application.OnTime Now + TimeValue("00:10:00"), "Berechnung"
If a = 0 Then a = 1
With ThisWorkbook.Worksheets("Tabellenblatt 1")
If .Cells(a, 1).Value  "0" Then
Call Blattschutz_Aufheben
ThisWorkbook.Worksheets("Hilfstabelle").Range("A1:P10").Clear
.Cells(a, 1).Resize(10, 16).SpecialCells(xlCellTypeFormulas).Copy Destination:= _
Worksheets("Hilfstabelle").Cells(1, 1)
a = a + 10
If a > .Cells(.Rows.Count, 1).End(xlUp).Row Then a = 1
Call Aktualisieren
Else
Application.StatusBar = False
End If
End With
End If
End Sub
SlngRow heißt bei mir jetzt a und ist die erste Zeile des zu kopierenden Bereiches. Weißt du wie ich diese Schleife einbaue? Im Moment werden bei mir nur die ersten 10 Zeilen kopiert und das ganze alle 10 Minuten wiederholt. Obwohl ich a um 10 erhöhe.
Das Makro "Aktualisieren" sorgt einfach dafür, dass meine Bezüge aus INDIREKT() mitgenommen werden. Das ändern nicht viel.
Viele Grüße und einen entspannten Sonntag!
Kathrin
Anzeige
AW: Timer
21.06.2020 22:20:18
ralf_b
sobald die Sub aufgerufen wird werden auch alle darin befindlichen, nicht globalen, Variablen erneuert.
a ist dann nicht das a vom vorherigen Aufruf, glaube ich. Im Eingangspost schreibst du davon das die Daten aus Spalte C + 16 Spalten sowie von Zeile 18 +10 Zeilen nach unten kopiert werden sollen. Dein Code kopiert schon ab Spalte A und geht 10 Zeilen nach unten.

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige