Excel VBA - Kopieren von Werten zwischen zwei Datumsangaben

Nico_B

Lt. Junior Grade
Registriert
Sep. 2010
Beiträge
345
Hallo.

Ich habe eine Excelarbeitsmappe erstellt mit mehreren Tabellenblättern. Auf einem Tabellenblatt findet eine Erfassung statt. Von diesem Tabellenblatt benötige ich für Reports auf einem zweiten Tabellenblatt nur die Spalten A und B. Die jedoch nicht in Gänze sondern nur die Werte die zwischen zwei Datumsangaben liegen.

Leider hänge ich nun mit dem VBA-Code. Vielleicht könnt ihr mir weiterhelfen:

Code:
Sub Reportdaten()

Dim i As Integer, j As Integer
Dim lngLetzteZeile As Long
Dim lngAbZeile As Long
Dim lngZeile As Long
Dim wksQ As Worksheet
Set wksQ = Worksheets("Erfassung")

von = Sheets("Erfassung").Range("c5").Value
bis = Sheets("Erfassung").Range("c6").Value

lngLetzteZeile = wksQ.Cells(wksQ.Rows.Count, 1).End(xlUp).Row
lngAbZeile = 9

With Worksheets("Erfassung")
    For i = lngAbZeile To lngLetzteZeile
        If .Cells(i, 1) >= von And .Cells(i, 1) <= bis Then
            .Range("A" & i).Copy
                 Worksheets("Report").Range("A" & j).PasteSpecial Paste:=xlPasteValues
            .Range("B" & i).Copy
                 Worksheets("Report").Range("B" & j).PasteSpecial Paste:=xlPasteValues
            j = j + 1
        End If
    Next i
End With


End Sub
 
Hi,
kannst du die Werte die zwischen den zwei Datumsangaben liegen nicht erst per Filter filtern lassen und dann die Werte kopieren? Das wäre mein Ansatz.
 
Der Code ist gewöhnungsbedürftig und noch zu straffen.
Was ich als Bug ansehe ist das j - das ist nämlich 0 und eine Ziele 0 am Ziel gibst es nicht. Und man sollt von und bis doch ordentlich als Datum DIMen.

Strategisch sollte man erst man Ziel alles löschen damit man nicht falsche Treffer vorfindet.

Wenn es nicht eilt könnte ich da morgen mal dran basteln.

CN8
 
Zurück
Oben