jerry0110
Erfahrenes Mitglied
Hallo zusammen,
ich möchte gerne aus einem Sheet mit vielen Daten einen Bericht in einem anderen Sheet erstellen.
Dabei soll nach der Kalenderwoche gesucht werden und dann wenn er in einer bestimmten Zellen die Kalenderwoche gefunden hat, bestimmte Felder kopieren und einfügen.
Ich habe so angefangen, nur komme ich nicht so weiter. Ich habe wieder einen Denkfehler. Und ab " If WorksheetFunction.WeekNum(ThisWorkbook.Worksheets("Orig").Range("J" & i)) = myDate Then" komm ich nicht weiter weil er sagt, er kann es nicht auflösen. Wenn ich eine Msgbox nehme, löst er WorksheetFunction.WeekNum(ThisWorkbook.Worksheets("Orig").Range("J" & i)) auf.
Ich weiß, dass ich ab "LastRowNrInTarget = LastRowNrInTarget + 1" noch eine weitere Schleife einbauen muss, damit er im Report auch eine Zeile weiterspringt. Aber ich komme hier nicht auf die Lösung.
ich möchte gerne aus einem Sheet mit vielen Daten einen Bericht in einem anderen Sheet erstellen.
Dabei soll nach der Kalenderwoche gesucht werden und dann wenn er in einer bestimmten Zellen die Kalenderwoche gefunden hat, bestimmte Felder kopieren und einfügen.
Ich habe so angefangen, nur komme ich nicht so weiter. Ich habe wieder einen Denkfehler. Und ab " If WorksheetFunction.WeekNum(ThisWorkbook.Worksheets("Orig").Range("J" & i)) = myDate Then" komm ich nicht weiter weil er sagt, er kann es nicht auflösen. Wenn ich eine Msgbox nehme, löst er WorksheetFunction.WeekNum(ThisWorkbook.Worksheets("Orig").Range("J" & i)) auf.
Ich weiß, dass ich ab "LastRowNrInTarget = LastRowNrInTarget + 1" noch eine weitere Schleife einbauen muss, damit er im Report auch eine Zeile weiterspringt. Aber ich komme hier nicht auf die Lösung.
Visual Basic:
Sub DGB_Bericht()
Dim myDate As Integer
Dim source As Worksheet
Dim target As Worksheet
Dim LastRowNrInTarget As Long
Dim f As Long
Dim i As Long
'die aktuelle Kalenderwoche des Reports
myDate = ActiveWorkbook.Worksheets("DGB Bericht").Range("F2")
Set source = ThisWorkbook.Worksheets("Orig")
Set target = ActiveWorkbook.Worksheets("DGB Bericht")
'letzte Ziele im Ziel berechnen
LastRowNrInTarget = lastRowNr(target)
'im Sheet Orig schauen ob das myDate gleich der Kalenderwoche aus Bericht ist
For i = lastRowNr(source) To 1 Step -1
'Ist Kalenderwoche gleich Kalenderwoche aus myDate
If WorksheetFunction.WeekNum(ThisWorkbook.Worksheets("Orig").Range("J" & i)) = myDate Then
LastRowNrInTarget = LastRowNrInTarget + 1
source.Range("P" & i).Value = target.Range("A6").Value
source.Range("AD" & i).Value = target.Range("B6").Value
source.Range("R" & i).Value = target.Range("D6").Value
source.Range("W" & i).Value = target.Range("E6").Value
source.Range("AV" & i).Value = target.Range("F6").Value
source.Range("AD" & i).Value = target.Range("G6").Value
source.Range("L" & i).Value = target.Range("H6").Value
source.Range("H" & i).Value = target.Range("I6").Value
source.Range("M" & i).Value = target.Range("J6").Value
source.Range("BD" & i).Value = target.Range("K6").Value
source.Range("J" & i).Value = target.Range("L6").Value
source.Range("O" & i).Value = target.Range("M6").Value
source.Range("P" & i).Value = target.Range("N6").Value
End If
Next i
End Sub