Hallo, ich schreibe derzeit ein Skript welches nach einer bestimmten Sachnummer sucht und die dann auf einem anderen Blatt findet und den IST-Wert dort auf dem Übersichtsblatt einträgt. Die einzelnen Seiten sind nach Kalenderwoche angelegt (ein Reiter pro Woche), das Übersichtsblatt besteht aus einer großen Tabelle mit einzelnen Spalten für die KWs.. die "richtige" Zelle soll mit meinem Code gefunden werden und dann der IST wert dort reingetragen werden.. soweit funktioniert es auch.. Allerdings gibt es Probleme, wenn die Sachnummer leer ist und irgendwie finde ich nichts passendes.
Option Explicit
Sub Aufheben()
Dim WsTabelle As Worksheet
Dim woche, s, stelle, o As Range
Dim w, a, b As Integer
Dim i As Variant
Dim test As Long
Dim KW, Jahr, wert, AktuellesBlatt, StartBlatt, EndBlatt, AnzahlBlätter, Spalte, firstadress, Reihe, Zeile, sachnummer, IST As String
StartBlatt = Sheets(1).Name
AnzahlBlätter = ThisWorkbook.Sheets.Count
For w = 1 To Worksheets.Count - 1
With Worksheets(w)
KW = Mid(.Name, 1, 4)
Jahr = Right(.Name, 2)
Spalte = "20" & Jahr & KW
For Each s In .Range("G3:G2000")
If s.Value <> "" Then
sachnummer = s.Value
IST = s.Offset(0, 8).Value
End If
With Sheets("Übersicht").Range("A1:XX2000")
Set woche = .Find(Spalte, LookIn:=xlValues)
If IsEmpty(woche) Then GoTo ende
b = woche.Column
Set stelle = .Find(sachnummer, LookIn:=xlValues)
If IsEmpty(stelle) Then GoTo ende
a = stelle.Row
Set o = .Cells(a, b)
IST = o.Value
ende:
End With
Next s
End With
Next
End Sub
|