Hallo,
das Range-Objekt Target hat mehrere Eigenschaften und Funktionen.
Einige Eigenschaften können nicht verändert werden.
Weitere Details zum Worksheet_Change kann man hier nachlesen: https://msdn.microsoft.com/de-de/library/office/ff839775.aspx
Wie ich es verstanden habe, soll in Abhängigkeit von der Position in einem anderen Tabellenblatt die gleichen Inhalte nochmals vorgenommen werden.
der nachstehende Beispiel-Code funktioniert nur dann, wenn in der Arbeitsmappe zwei Tabellenblätter vorhanden sind:
- Tabellenblätter: Tabelle1, Tabelle2
Private Sub Worksheet_Change(ByVal Target As Range)
Dim rngDest As Range, rngSrc As Range
Dim iCol As Integer, iRow As Integer
Set rngDest = Application.ThisWorkbook.Worksheets("Tabelle2").Range("B5:G10")
Set rngSrc = Target.Worksheet.Range("A15:F20")
If Not Intersect(Target, rngSrc) Is Nothing Then
' Relative Position von Target zum rngSrc ermitteln
iCol = Target.Column - rngSrc.Column
iRow = Target.Row - rngSrc.Row
' Innerhalb des Zielbereichs die gleiche Zelle ändern
rngDest.Cells(iRow + 1, iCol + 1).FormulaR1C1 = Target.FormulaR1C1
End If
End Sub
Dieser Code muss dem Tabellenblatt 1 zugewiesen werden.
Was macht dieser Code: dieser Code führt alle Eingaben in der Tabelle1 im Bereich A15-F20 auch im Tabellenblatt2 im Bereich B5 - G10 durch.
Wenn z.B. in Tabelle1 in Zelle A16 der Text "Dies ist ein Test" eingegeben wird, dann wird dieser Text auch in Zelle B6 der Tabelle2 eingetragen werden.
Mit diesem Beispielcode werden allerdings nur die Formeln dupliziert, alle weiteren Änderungen (z.B. Schriftfarbe, -stil und -größe o.ä.) bleiben unverändert.
VG, BigBen
|