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

fehler beim Tabellencode

fehler beim Tabellencode
Torsten
Hallo,
kann mir wieder Hilfe von Euch bekommen?
Bei deisem Tabellencode habe ich irgenwo einen Fehler. Ich habe nur den ersten Monat Oktober mit eingefügt. Jetzt funktioniert es nicht mehr. Auch als Datei verfügbar. https://www.herber.de/bbs/user/65150.xls
Danke und Gruß Torsten
Private Sub Worksheet_Activate()
Dim E As Integer
Dim F As Integer
Dim I As Integer
Rem If Day(Now) = Date Then
E = 101
F = 25
For I = 2 To 8
.Cells(101, I).Value = Sheets("Ergebnisse").Cells(F, 13).Value
F = F + 1
Rem test1
Next I
E = 105
F = 15
For I = 3 To 8
.Cells(105, I).Value = Sheets("Ergebnisse").Cells(F, 13).Value
F = F + 1
Next I
Rem test2
E = 103
F = 46
For I = 2 To 8
.Cells(103, I).Value = Sheets("Ergebnisse").Cells(F, 13).Value
F = F + 1
Next I
Rem Mai_Juni
If DateSerial(2010, 6, 20) >= Date Then
E = 53
F = 25
For I = 2 To 8
.Cells(53, I).Value = Sheets("Ergebnisse").Cells(F, 10).Value
F = F + 1
Rem test1
Next I
E = 57
F = 15
For I = 3 To 8
.Cells(57, I).Value = Sheets("Ergebnisse").Cells(F, 10).Value
F = F + 1
Next I
Rem test2
E = 55
F = 46
For I = 2 To 8
.Cells(55, I).Value = Sheets("Ergebnisse").Cells(F, 10).Value
F = F + 1
Next I
Rem Juni_Juli
If DateSerial(2010, 7, 20) >= Date Then
E = 65
F = 25
For I = 2 To 8
.Cells(65, I).Value = Sheets("Ergebnisse").Cells(F, 11).Value
F = F + 1
Rem test1
Next I
E = 69
F = 15
For I = 3 To 8
.Cells(69, I).Value = Sheets("Ergebnisse").Cells(F, 11).Value
F = F + 1
Next I
Rem test2
E = 67
F = 46
For I = 2 To 8
.Cells(67, I).Value = Sheets("Ergebnisse").Cells(F, 11).Value
F = F + 1
Next I
Rem Juli_August
If DateSerial(2010, 8, 20) >= Date Then
E = 77
F = 25
For I = 2 To 8
.Cells(77, I).Value = Sheets("Ergebnisse").Cells(F, 12).Value
F = F + 1
Rem test1
Next I
E = 81
F = 15
For I = 3 To 8
.Cells(81, I).Value = Sheets("Ergebnisse").Cells(F, 12).Value
F = F + 1
Next I
Rem test2
E = 79
F = 46
For I = 2 To 8
.Cells(79, I).Value = Sheets("Ergebnisse").Cells(F, 12).Value
F = F + 1
Next I
Rem August_Sep
If DateSerial(2010, 9, 18) >= Date Then
E = 89
F = 25
For I = 2 To 8
.Cells(89, I).Value = Sheets("Ergebnisse").Cells(F, 13).Value
F = F + 1
Rem test1
Next I
E = 93
F = 15
For I = 3 To 8
.Cells(93, I).Value = Sheets("Ergebnisse").Cells(F, 13).Value
F = F + 1
Next I
Rem test2
E = 91
F = 46
For I = 2 To 8
.Cells(91, I).Value = Sheets("Ergebnisse").Cells(F, 13).Value
F = F + 1
Next I
End If
End
With
End Sub

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: fehler beim Tabellencode
17.10.2009 10:12:34
Daniel
Sorry, aber das zu komplet vermurkst, um das überhaupt zu beantworten können.
- was soll dein Code überhaupt erreichen?
- warum steht in der Beispieldatei der Code nicht seinem Modul, sondern direkt im Tabellenblatt, wo er gar nicht laufen kann?
- der Code bezieht sich auf Tabellenblätter, die in deiner Beispieldatei nicht vorkommen. WARUM?
- warum stehen am eine ein nutzloses END und WITH rum?
- wie sah der Code vor dem einfügen des Monats aus, hat er da wengsten funktioniert?
bring da erstmal klarheit rein, lade die richtige Beispieldatei hoch und beschreibe mal, das der Code machen soll.
Gruß, Daniel
Anzeige
AW: fehler beim Tabellencode
17.10.2009 10:41:24
Torsten
Hallo Daniel,
es ist eine komplexe Tabelle.
Der Code soll verhindern, das Daten nach einem bestimmten Datum nicht mehr übernommen werden.
Leider kenn ich mich mit Excel nicht so aus, das sicherlich einige Fehler darin vorkommen.
Doch mit diesem Code lief alles, bis zu dem Zeitpunkt, wo ich es erweitert habe. Der Bezug stimmt, doch Excel findet den Schluß nicht in Ordnung.
Gruß Torsten
alter Code:
Private Sub Worksheet_Activate()
Dim E As Integer
Dim F As Integer
Dim I As Integer
Rem If Day(Now) = Date Then
E = 53
F = 25
For I = 2 To 8
.Cells(53, I).Value = Sheets("Ergebnisse").Cells(F, 10).Value
F = F + 1
Rem Test1
Next I
E = 57
F = 15
For I = 3 To 8
.Cells(57, I).Value = Sheets("Ergebnisse").Cells(F, 10).Value
F = F + 1
Next I
Rem Test2
E = 55
F = 46
For I = 2 To 8
.Cells(55, I).Value = Sheets("Ergebnisse").Cells(F, 10).Value
F = F + 1
Next I
Rem Juni_Juli
ElseIf DateSerial(2009, 7, 20) >= Date Then
E = 65
F = 25
For I = 2 To 8
.Cells(65, I).Value = Sheets("Ergebnisse").Cells(F, 11).Value
F = F + 1
Rem Test1
Next I
E = 69
F = 15
For I = 3 To 8
.Cells(69, I).Value = Sheets("Ergebnisse").Cells(F, 11).Value
F = F + 1
Next I
Rem Test2
E = 67
F = 46
For I = 2 To 8
.Cells(67, I).Value = Sheets("Ergebnisse").Cells(F, 11).Value
F = F + 1
Next I
Rem Juli_August
ElseIf DateSerial(2009, 8, 20) >= Date Then
E = 77
F = 25
For I = 2 To 8
.Cells(77, I).Value = Sheets("Ergebnisse").Cells(F, 12).Value
F = F + 1
Rem Test1
Next I
E = 81
F = 15
For I = 3 To 8
.Cells(81, I).Value = Sheets("Ergebnisse").Cells(F, 12).Value
F = F + 1
Next I
Rem Test2
E = 79
F = 46
For I = 2 To 8
.Cells(79, I).Value = Sheets("Ergebnisse").Cells(F, 12).Value
F = F + 1
Next I
Rem August_Sep
ElseIf DateSerial(2009, 9, 18) >= Date Then
E = 89
F = 25
For I = 2 To 8
.Cells(89, I).Value = Sheets("Ergebnisse").Cells(F, 13).Value
F = F + 1
Rem Test1
Next I
E = 93
F = 15
For I = 3 To 8
.Cells(93, I).Value = Sheets("Ergebnisse").Cells(F, 13).Value
F = F + 1
Next I
Rem Test2
E = 91
F = 46
For I = 2 To 8
.Cells(91, I).Value = Sheets("Ergebnisse").Cells(F, 13).Value
F = F + 1
Next I
End If
End With
End Sub

Anzeige
AW: fehler beim Tabellencode
17.10.2009 11:05:04
Daniel
HI
die Fehler die ich so direkt ohne Testen erkennen kann sind:
1. du hast aus allen ElSE-IF immer ein IF gemacht, dh einen komplett neuen IF-Block erzeugt, das kann natürlich nicht funktionieren
2. ist bei dieser Form der Abfrage (Datum grösser als Stichtag) die Reihenfolge der Abfrage wichtig.
dh. wenn du einen Späteren Monat einfügst, dann muss dieser auch am Ende in der Abfragereihenfolge stehen und nicht am Ende.
Gruß, Daniel
Ziel erreicht. Danke
17.10.2009 11:07:09
Torsten
Hallo Daniel, Danke für deine Bemühungen.
Habe es gerade hinbekommen, indem ich den neuen Satz zum Schluß rangehängt habe.
Gruß Torsten
Anzeige
Viel kürzer
17.10.2009 13:19:37
Erich
Hi Torsten,
vielleicht erreichst du beim nächsten Mal dein Ziel schneller und leichter.
Probier mal das hier aus:

Option Explicit
Private Sub Worksheet_Activate()
Select Case Date
Case Is 
Der Code kann noch kürzer werden, wenn er im Modul eines der beiden beteiligten Tabellenblätter steht.
Ist das so? Wo steht der Code? (Bei Aktivierung welcher Tabelle läuft er?)
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
AW: Viel kürzer
17.10.2009 15:27:56
Torsten
Hallo Erich,
Danke für deine Infos.
Habe es auch ausprobiert, doch es werden immer nur die Daten von Mai übernommen.
Wenn ich das Datum verändere, dann werden die Daten von Mai in einem anderen Monat eingeschrieben.
Ich habe mal eine veränderte Datei hochgeladen.
Die Daten von Ergebnisse müssen ins Tabellenblatt Berichte übernommen werden.
Der Code ist im Tabellenblatt Berichte.
mfg Torsten
https://www.herber.de/bbs/user/65159.xls
Anzeige
Korrektur
17.10.2009 18:48:43
Erich
Hi Torsten,
sorry, da war ein Wurm drin! Probiers mal mit

Option Explicit
Private Sub Worksheet_Activate()
Select Case Date
Case Is 
Wenn man Ergebnisse!B1 ändert, müsste man gleichzeitig auch den Code ändern. Das ist unschön.
Woraus ergibt sich, dass die Grenze im Sept. 2010 am 18.09. ist, in allen anderen Monaten am 20. des Monats?
Wenn es da eine gute Regelmäßigkeit gibt, könnte man abhängig vom Tagesdatum die Zeilen und Spalten
der Quell- und der Zieltabelle ausrechnen, die Fallunterscheidungen wären unnötig.
Im Code bräuchten dann keine festen Datums mehr zu stehen.
Jetzt ist es so, dass immer wieder Teile des Codes veralten, dafür neue Teile hinzugeschrieben werden müssen.
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Anzeige
AW: Korrektur
17.10.2009 19:14:48
Torsten
Hallo Erich,
ich bin immer wieder überrascht, was man alles so mit Excel machen kann, danke.
Mit dem Datum ist es wichtig, das man nach dem 18 des Monats nichts mehr übernimmt.
Es kann immer das gleiche Datum sein.
Hättest du noch eine Idee, so das ich nächstes Jahr nichts verändern müsste, wenn ich Ergebnisse!B1 verändere?
mfg Torsten
Rückfragen
17.10.2009 20:15:27
Erich
Hi Torsten,
machbar ist das sicher. Zunächst stellt sich für mich aber die Frage nach dem Sinn.
Die Zeiträume in den beiden Blättern sind unterschiedlich:
In Blatt Berichte stehen nur Monate (Januar bis Dezember), aber kein Jahr. Ist 2010 gemeint?
In Blatt Ergebnisse stehen (momentan) Sept.2009 bis Aug.2010
Wenn in 'Berichte' das Jahr 2010 gemeint ist, wohin sollen dann die Ergebnisse für die restlichen Monate von 2009?
Wer ändert wann und warum das Datum in Ergebnisse!B1?
Dann ändern sich auf Blatt Ergebnisse automatisch die Monate in den Zeilen 3, 14, 24, ...
Aber die Werte in den Zeilen darunter bleiben stehen - und damit wird die Zuordnung zu den Monaten falsch.
Werden im Blatt Ergebnisse die (Grund-)Daten manuell eingegeben?
Ist das Blatt Berichte dann nur eine anders aufgebaute Darstellung der Ergebnisse?
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Anzeige
Alles bestens, danke
17.10.2009 21:33:03
Torsten
Hallo Erich,
schön Dank für deine Hilfe.
War von meiner Seite eine Idee,die unnötig wahr.
Bin wirklich froh, das es so gut funktioniert.
Wünsche noch einen schönen Abend.
mfg Torsten

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige