Zellensprung nach vorgegebene Koordinaten

14/06/2008 - 00:51 von Walter Heying | Report spam
Hallo,

ich habe in einem Blatt eine Tabelle, in der die Mitarbeiter von links
nach rechts angegeben werden und ein fortlaufendes Datum von oben nach
unten. Jede Eingabe in einer Zelle (vorgegebene Alternativen -
Gültigkeit) soll bewirken, dass in einem anderen Blatt die
entsprechende Zelle ausgewàhlt wird und dort eine Formel eingetragen
wird und anschließend diese Formel zu einem Wert eingefroren wird
(Wertekopie). Wie kann ich dieses mit Excel lösen? Zwei Dinge kann ich
nicht umsetzen: 1. das Ereignismakro durchzuführen, wenn ich einen
Zelleneinrag vorgenommen habe und 2. der Sprung in die entsprechende
Zelle des zweiten Blattes
Die Formel eintragen und eine Wertekopie darauf zu legen kann ich vba
umsetzen.

Über jede Hilfe bin ich dankbar!

Gruß
Walter
 

Lesen sie die antworten

#1 Peter Schleif
14/06/2008 - 09:20 | Warnen spam
Walter Heying schrieb am 14.06.2008 00:51 Uhr:

Wie kann ich dieses mit Excel lösen? Zwei Dinge kann ich
nicht umsetzen: 1. das Ereignismakro durchzuführen, wenn ich einen
Zelleneinrag vorgenommen habe und 2. der Sprung in die entsprechende
Zelle des zweiten Blattes



Die Ereignisprozedur heißt Worksheet_Change und um in eine Zelle in
einem anderen Blatt zu springen, musst Du erst das Blatt und dann die
Zelle selektieren. Etwa so:

Tabelle2.Select
Tabelle2.Range("C3").Select

Allerdings ist das _nicht_ erforderlich, wenn Du dort nur einen Wert
eintragen willst. Der Code unten gehört in den VBA-Bereich deiner
Mitarbeiter-Tabelle. Damit das Worksheet_Change-Ereignis nicht blind
auf jede Eingabe reagiert, wird geprüft, ob die geànderte Zelle im
richtigen Bereich liegt (hier B2:D4) und ob tatsàchlich nur eine
einzelne Zelle geàndert wurde. Die Abschaltung der Application.Events
verhindert, dass die Prozedur selbst ein Change-Ereignis auslöst. Das
ist hier zwar eigentlich überflüssig, weil die Änderungen ja in
Tabelle2 stattfinden, ich baue es aber standardmàßig in
Worksheet_Change ein.

Peter

+--++-+--++
| | A | B | C | D |
+--++-+--++
| 1 | | Meier | Müller | Schmitz |
+--++-+--++
| 2 | 14.06.2008 | | | |
+--++-+--++
| 3 | 15.06.2008 | | | |
+--++-+--++
| 4 | 16.06.2008 | | | |
+--++-+--++


Private Sub Worksheet_Change(ByVal Target As Range)

On Error GoTo fehler
Application.EnableEvents = False

If Target.Cells.Count = 1 And _
Not Intersect(Target, Range("B2:D4")) Is Nothing Then
Tabelle2.Select '/kann entfallen/
Tabelle2.Range(Target.Address).Select '/kann entfallen/
Tabelle2.Range(Target.Address) = Target
End If

fehler:
Application.EnableEvents = True
End Sub

Ähnliche fragen