Option
Explicit
Private
Sub
Worksheet_Change(
ByVal
Target
As
Range)
Const
C_PLH
As
String
=
"%PLACEHOLDER%"
Dim
rngResult
As
Excel.Range
Set
rngResult = Tabelle1.Columns(
"A"
).Find(Target.Cells(1, 1).Value, _
LookIn:=xlValues, LookAt:=xlWhole, _
SearchOrder:=xlByColumns, MatchByte:=
False
)
If
Not
rngResult
Is
Nothing
Then
Set
rngResult = rngResult.Offset(, 3)
Else
Exit
Sub
End
If
Dim
rngCell
As
Excel.Range
Set
rngCell = Tabelle3.Range(
"A1"
)
Do
Until
Trim$(rngCell.Value) =
""
If
rngCell.PrefixCharacter <>
""
Then
If
IsNumeric(rngResult.Value)
Then
Call
rngCell.Replace(C_PLH, rngResult.Value, xlPart, xlByColumns,
False
,
False
)
Else
Call
rngCell.Replace(C_PLH,
""
""
& rngResult.Value &
""
""
, xlPart, xlByColumns,
False
,
False
)
End
If
rngCell.FormulaLocal = rngCell.FormulaLocal
Exit
Do
End
If
Set
rngCell = rngCell.Offset(1)
Loop
End
Sub