Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
504to508
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
504to508
504to508
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Sheets().Select und Schleifen-Problem

Sheets().Select und Schleifen-Problem
21.10.2004 21:42:24
Matze
Hallo,
ich habe wieder einmal ein Problem und hoffe jemand hat eine gute Lösungsidee.
Meine Idee ist es regelmäßig fällige Zahlungen in Excel per Makro eintragen zu lassen. Hierzu stehen auf dem Blatt Einstellungen in der Spalte ab A3 die Produkte (die Bezeichnung stimmt mit den entsprechenden Tabellennamen überein). In der Spalte B steht das Datum der letzten Zahlung, in Spalte C die Häufigkeit, in Spalte D wird das nächste Fälligkeitsdatum gerechnet. In Spalte E steht die Anzahl der Zellen, die auf dem jeweiligen Produktblatt kopiert werden muss.
Hier meine beiden Probleme:
1. Der aus der Spalte A richtig übernommene Blattname löst ein Fehler: "Index außerhalb des gültigen Bereichs (Fehler 9)" aus.
2. Möchte ich eine Schleife haben, die so oft durchlaufen wird, bis "If Date >= Einstellungen.Cells(intZaehler, 4).Value" erfüllt ist. Ich denke, dass ich dies über eine Do Loop-Schleife realisieren muss.
Danke im voraus für die Tipps
Matze
Hier noch das eingesetzte Modul:

Sub Zahlungspruefung()
Set Einstellungen = Worksheets("Einstellungen")
Dim intAnzahlZeilenEinstellung As Integer
Dim intAnzahlZeilenProdukt As Integer
Dim intZaehler As Integer
Dim intAnzahlZellen As Integer
Dim Blatt As String
Worksheets("Einstellungen").Select
' Anzahl der Eintraege ermitteln
intAnzahlZeilenEinstellung = Einstellungen.UsedRange.Rows.Count
For intZaehler = 3 To intAnzahlZeilenEinstellung
' Anzahl der zu kopierenen Zellen uebergeben
intAnzahlZellen = Einstellungen.Cells(intZaehler, 5).Value
' diese Schleife wird solange durchlaufen, bis die naechste Zahlung in der Zukunft liegt
If Date >= Einstellungen.Cells(intZaehler, 4).Value Then
Blatt = Cells(intZaehler, 1).Value
Sheets(Blatt).Select
' finde letzte Zeile, kopiere sie und fuege sie eine Zeile tiefer ein
intAnzahlZeilenProdukt = 0                   ' Wert auf 0 setzen
intAnzahlZeilenProdukt = ActiveSheet.UsedRange.Rows.Count
Range(Cells(intAnzahlZeilenProdukt + 1, 1), Cells(intAnzahlZeilenProdukt + 1, intAnzahlZellen)) = _
Range(Cells(intAnzahlZeilenProdukt, 1), Cells(intAnzahlZeilenProdukt, intAnzahlZellen))
' Datum fuer letzte Zahlung hochsetzen
Call Datumsaenderung(intZaehler)
Else
End If
Next
End Sub

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Sheets().Select und Schleifen-Problem
Karl-Otto
Hallo Matze
Größere Probs immer aufteilen!
Also: Vergib einen griffigen Betreff für Dein Teil-Prob(wg Archiv),
und (oder) lad ein paar Daten hoch.
Gruß
KO
AW: Sheets().Select und Schleifen-Problem
21.10.2004 23:07:31
Matze
Hallo Karl-Otto,
ich sehe das Problem für mich als zusammengehörig und habe es deshalb bewußt nicht getrennt. Ich werde es in Zukunft versuchen besser zu trennen.
Hier ist noch ein sehr kleiner Auszug aus meiner Datei und der derzeitige Code:
https://www.herber.de/bbs/user/12463.xls
mfg
Matze
AW: Sheets().Select und Schleifen-Problem
Karl-Otto
Sag' ich doch, "Einstellungen" ist nicht als Variable deklariert
und führt bei "Option Explict" automatisch zur Fehlermeldung.
Das Ganze ist ein Ausschnitt aus anderen Programmen, in die man sich
schlecht eindenken kann.
Ich hoffe, jemand erbarmt sich.

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige