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

Kopierfunktion verliert Dezember

Kopierfunktion verliert Dezember
21.02.2016 18:12:13
Daniel
Hallo zusammen,
ich stehe mal wieder total auf dem Schlauch und hoffe Ihr könnt mir helfen.
Ich habe ein Programm das die folgende Sub aufruft um eine Kopierfunktion auszuführen. Dies funktioniert einwandfrei für die Monate 11 und 12 (stehen im Array4(0-11) mit Array4(11)="12"). auch für die Monate 9-11 funktioniert es ohne Probleme. nur wenn ich 10-12 kopieren will lässt er die 12 einfach aus... keine Fehlermeldung. Bei 11-12 geht's aber wie gesagt, so dass es eigentlich auch nicht an den Einträgen liegen kann.

Sub OneMonthNoDateLimitMulti(ByRef x As Integer, n As Long, i As Integer, lngLast As Long,  _
ByRef Array1() As String, ByRef Array2() As String, ByRef Array4() As String, Monat, Monat2, Mandat, wkb2)
Dim y As Long
For x = 0 To 6 'run through Mitarbeiter
n = 4
For y = CLng(Monat) To CLng(Monat2) 'run through Monate
With Sheets(Array4(y - 1))
For i = 6 To lngLast
If .Cells(i, 1).Text = Array1(x) Then 'Prüfe Mitarbeiter in quelle
If .Cells(i, 2).Text = Mandat Then 'Prüfe Mandat in quelle
.Range(.Cells(i, 3), .Cells(i, 9)).Copy '----> Start Date bis Ort
wkb2.Worksheets(Array2(x)).Cells(n, 3).PasteSpecial Paste:= _
xlPasteValues, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
.Range(.Cells(i, 12), .Cells(i, 14)).Copy '----> Start Dauer h bis  _
Spesen/ÜN
wkb2.Worksheets(Array2(x)).Cells(n, 10).PasteSpecial Paste:= _
xlPasteValues, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
n = n + 1
End If
End If
Next i
End With
Next y
Next x
End Sub
Ich hoffe Ihr könnt mir wieder mal aus der VBA patsche helfen...
Daniel

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Kopierfunktion verliert Dezember
21.02.2016 21:07:25
Luschi
Hallo Daniel,
ohne dazugehörige Daten kann man wenig dazu sagen. aber warum benutzt Du nicht den Debugger, um dem Fehlerteufel auf die Spur zu kommen.
- setze in einer aufführbaren Vba-Programmzeile einen Breakpoint per F9-Taste
- starte das Orogramm und der Debugger hält am Breakpoint an
- per F8-Taste kann man dann Zeile für Zeilen den Programmcode durchsteppen
Gruß von Luschi
aus klein-Paris
PS: ich frage mich, warum Du der Funktion 'OneMonthNoDateLimitMulti' die Parameter
x, n, i mitgibst, wenn Du sie in der Funktion neu initialisierst?
x = 0, n = 4, i = 6

Anzeige
AW: Kopierfunktion verliert Dezember
21.02.2016 21:14:09
Michael
Hi Daniel,
zunächst fällt auf, daß Deine Variablen im Prozedurkopf nicht sauber definiert sind:
Monat, Monat2, Mandat, wkb2
Ich persönlich würde "außen" dafür sorgen, daß insbesondere die Werte monat und monat2 als long übergeben werden.
Mit diesen Arrays ist es so eine Sache: sicher, daß nicht etwa bei der 11 eine 12 statt einer "12" drinsteht? Dann springt das Makro nämlich Sheets(12) statt Sheets("12") an...
Allgemein: ein stop reinschreiben, z.B. hier:
    For x = 0 To 6 'run through Mitarbeiter
n = 4
For y = CLng(Monat) To CLng(Monat2) 'run through Monate
stop
With Sheets(Array4(y - 1))

...und den Code mit F8 zeilenweise durchgehen. Dann siehst Du, wenn Du die Maus über Array4(y - 1) stellst, ob 12 oder "12" drinsteht.
Schöne Grüße,
Michael

Anzeige
AW: Kopierfunktion verliert Dezember
21.02.2016 21:19:18
Daniel
Hallo Luschi, hallo Michael,
ich hab es genau mit der F8 Methode rausgefunden. Der fehler war das lngLast (die letzte Zeile) nich immer gleich ist auf den verschiedenen Blättern. Mit neudefinition für jedes Blatt klappts :)
vielen dank für die tips...
Bin mir sicher das mein gesamter code ziemlich unsauber ist... aber jedes bischen aufräumen hilft :)
Gruß DAniel

erfolgreich debugged - Grüße & owT
22.02.2016 19:35:48
Michael

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige