27.07.2015, 10:58
Liebes Forum,
ich arbeite derzeit an einer Excel, welche Kundenentwicklungen dokumentieren soll.
Diese Excel ist in 2 Sheets aufgeteilt. Im ersten Sheet sollen alle Kunden (jeder Kunde eine Zeile) oberflaechlich betrachtet werden. Ab einem Potential von sagen wir mal 300.000 sollen die Daten in ein zweites Sheet befoerdert werden, in welchem der Kunde dann eingehender betrachtet werden kann.
Dies sollte automatisiert ueber ein Makro erfolgen. Mittlerweile ist mein Code soweit, dass ich bei der Eingabe in ein bestimmtes Feld die vorhandenen Daten verschobene become.
Das ganze sieht folgendermassen aus:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Z As Long
If Not Intersect(Target, Range("K10:K100")) Is Nothing Then
ActiveSheet.Unprotect "heute"
Application.EnableEvents = False
Target.Offset(0, 1) = Target.Offset(0, 1) + 1
ActiveSheet.Protect "heute"
If Intersect(Target, Range("Z10:Z101")) Is Nothing Then Exit Sub
ActiveSheet.Unprotect "heute"
With Sheets("Pipeline")
Z = .Range("G1")
.Range("G1") = .Range("AA1") + 1
.Range("A" & Z) = Target.Value
.Range("B" & Z) = Target.Offset(0, -20).Value
.Range("C" & Z) = Target.Offset(0, -22).Value
End With
Application.EnableEvents = True
ActiveSheet.Protect "heute"
End Sub
Da meine Kenntnisse in VBA noch recht mager sind komme ich derzeit nicht weiter.
Es fehlt mir noch, dass die Daten nur verschoben wenn in Feld Z ein Wert ueber 300.000 eingegeben wird. Ebenso gut waere es wenn sich die Felder im Ziel-Sheet bei einer Eingabe in das Quell-Sheet automatisch aktualisieren. Kann Excel das ueberhaupt leisten?
Ich bedanke mich im vorraus fuer Input!
Liebe Gruesse,
Christoph
ich arbeite derzeit an einer Excel, welche Kundenentwicklungen dokumentieren soll.
Diese Excel ist in 2 Sheets aufgeteilt. Im ersten Sheet sollen alle Kunden (jeder Kunde eine Zeile) oberflaechlich betrachtet werden. Ab einem Potential von sagen wir mal 300.000 sollen die Daten in ein zweites Sheet befoerdert werden, in welchem der Kunde dann eingehender betrachtet werden kann.
Dies sollte automatisiert ueber ein Makro erfolgen. Mittlerweile ist mein Code soweit, dass ich bei der Eingabe in ein bestimmtes Feld die vorhandenen Daten verschobene become.
Das ganze sieht folgendermassen aus:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Z As Long
If Not Intersect(Target, Range("K10:K100")) Is Nothing Then
ActiveSheet.Unprotect "heute"
Application.EnableEvents = False
Target.Offset(0, 1) = Target.Offset(0, 1) + 1
ActiveSheet.Protect "heute"
If Intersect(Target, Range("Z10:Z101")) Is Nothing Then Exit Sub
ActiveSheet.Unprotect "heute"
With Sheets("Pipeline")
Z = .Range("G1")
.Range("G1") = .Range("AA1") + 1
.Range("A" & Z) = Target.Value
.Range("B" & Z) = Target.Offset(0, -20).Value
.Range("C" & Z) = Target.Offset(0, -22).Value
End With
Application.EnableEvents = True
ActiveSheet.Protect "heute"
End Sub
Da meine Kenntnisse in VBA noch recht mager sind komme ich derzeit nicht weiter.
Es fehlt mir noch, dass die Daten nur verschoben wenn in Feld Z ein Wert ueber 300.000 eingegeben wird. Ebenso gut waere es wenn sich die Felder im Ziel-Sheet bei einer Eingabe in das Quell-Sheet automatisch aktualisieren. Kann Excel das ueberhaupt leisten?
Ich bedanke mich im vorraus fuer Input!
Liebe Gruesse,
Christoph