Sub
SVerweis_Prodplan_V2(ZielSheet
As
String
, ZielSpalteIndex
As
String
, ZielSpalteVon
As
String
, ZielSpalteBis
As
String
, ZielZeile
As
Double
, ZielZeileAnzahl
As
Double
, QuellSheet
As
String
, QuellSpalteIndex
As
String
, QuellSpalteVon
As
String
, QuellSpalteBis
As
String
,
Optional
ByVal
Format
As
Boolean
=
False
)
Dim
Counter
As
Double
Dim
CounterMax
As
Double
Dim
TempVatiant
As
Range
Dim
TempDouble
As
Double
Dim
AnzahlQuellZeilen
As
Integer
If
QuellSheet =
""
Then
QuellSheet =
"Gesammelte_Daten"
If
QuellSpalteBis =
""
Then
QuellSpalteBis = QuellSpalteVon
If
ZielSpalteBis =
""
Then
ZielSpalteBis = ZielSpalteVon
With
Worksheets(ZielSheet)
If
ZielZeileAnzahl = 0
Then
If
WorksheetFunction.CountA(Sheets(ZielSheet).Range(
"A:A"
)) < MaxAuftraege
Then
CounterMax = WorksheetFunction.CountA(Sheets(ZielSheet).Range(
"A"
& ZielZeile &
":A"
& MaxAuftraege))
Else
CounterMax = MaxAuftraege
Else
CounterMax = ZielZeileAnzahl
End
If
AnzahlQuellZeilen = WorksheetFunction.CountA(Sheets(QuellSheet).Range(QuellSpalteIndex &
":"
& QuellSpalteIndex))
For
Counter = ZielZeile
To
(CounterMax + ZielZeile)
Set
TempVatiant = Worksheets(QuellSheet).Range(QuellSpalteIndex &
"1:"
& QuellSpalteIndex & AnzahlQuellZeilen).Find(What:=Worksheets(ZielSheet).Range(ZielSpalteIndex & Counter), LookIn:=xlValues, lookat:=xlWhole)
If
Not
TempVatiant
Is
Nothing
Then
TempDouble = TempVatiant.Row
Else
TempDouble = -1
If
Format
Then
If
TempDouble < 0
Then
.Range(ZielSpalteVon & Counter) = 0
Else
Worksheets(QuellSheet).Range(QuellSpalteVon & TempDouble &
":"
& QuellSpalteBis & TempDouble).Copy .Range(ZielSpalteVon & Counter &
":"
& ZielSpalteBis & Counter)
End
If
Else
If
TempDouble < 0
Then
.Range(ZielSpalteVon & Counter) = 0
Else
.Range(ZielSpalteVon & Counter &
":"
& ZielSpalteBis & Counter).Value = Worksheets(QuellSheet).Range(QuellSpalteVon & TempDouble &
":"
& QuellSpalteBis & TempDouble).Value
End
If
Next
Counter
End
With
Set
TempVatiant =
Nothing
End
Sub