=WENN(Z18S3=1;"=kopie(Tabelle1,1,1,13,14)";"=kopie(Tabelle1,2,1,13,14)")
das kommt irgendwo in irgendeine zelle des zielblattes (Z18S3 ist in diesem Fall die referenzzelle- immer absolut angeben -wenn wert (zahl) =1 dann =kopie(Tabelle1,1,1,13,14), sonst =kopie(Tabelle1,2,1,13,14) - ggf ändern)
Meine funktion =kopie(Tabelle1,1,1,13,14) (=kopie(zielblatt,zq,sq,zz,sz) zq=quellzeile:sq=quellspalte:zz=zielzeile:zs=zielspalte) funktioniert nur über umweg, da funktionen zwar in excel-zellen eingetragen werden können, aber nur berechnungen, aber keine anweisungen (wie z.B. "ändere die farbe der zelle xy) enthalten dürfen.
deswegen müssen wir eine funktion simulieren, die auch das kann.
kdoppelklicke in VB-editor auf "diese Arbeitsmappe" und kopiere diesen code in:
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
Dim Z, S As Integer
Dim a As Variant
Dim sht As String
Dim Sht1 As Worksheet
Dim a1 As Long, a2 As Long, a3 As Long, a4 As Long
For Z = 1 To 500
For S = 1 To 500
On Error GoTo aaaa
If Cells(Z, S) <> "" Then
a = CStr(Cells(Z, S).Value)
If Left$(a, 7) = "=kopie(" Then
le = Len(a)
a0 = 7
a1 = InStr(a0 + 1, a, ",")
a2 = InStr(a1 + 1, a, ",")
a3 = InStr(a2 + 1, a, ",")
a4 = InStr(a3 + 1, a, ",")
a5 = le
sht = Mid(a, a0 + 1, a1 - a0 - 1)
zq = Val(Mid(a, a1 + 1, a2 - a1 - 1))
sq = Val(Mid(a, a2 + 1, a3 - a2 - 1))
zz = Val(Mid(a, a3 + 1, a4 - a3 - 1))
sz = Val(Mid(a, a4 + 1, a5 - a4 - 1))
Cells(zz, sz).Value = Sheets(sht).Cells(zq, sq).Value
Cells(zz, sz).Interior.Color = Sheets(sht).Cells(zq, sq).Interior.Color
End If
End If
aaaa:
Next S
Next Z
Das simuliert die funktion, d.h. immer wenn du die aktuelle zelle wechselst, wir der code oben ausgeführt, sucht in einer matrix von 500 zeilen mal 500 spalten nach meiner "=kopie(...."-funktion, interpretiert die variablen und führt sie aus (kopiert zelleninhalt und farbe von der quellzelle auf dem quellblatt auf die zielzelle auf diesem blatt), egal wie oft er sie findet.d.h. du kanst mehrere dieser funktionen irgendwo auf dem blatt (500x500) verstecken, und alle werden ausgeführt.
|