Code Hilfe

07/09/2010 - 10:47 von Johann Rupp | Report spam
Hallo Könner und Kenner,

hab mir einen Code zusammen gestrickt, der mir bei Eingabe in einer der
vorgegebenen Zellen ("C1:C10")nach drücken der Entertaste in die
Nachbarzelle links eine 0 (Null) schreibt. (Code steht im Tabellenblatt.
Excel 2007)
Frage 1. Wenn ich im Code eine Abfrage haben möchte, ob die Nachbarzelle
leer ist, müsste dies ja mit einer zusàtzlichen If then Abfrage gehen.
Doch wie spreche ich die entsprechende Zelle im Beispiel wàren
dies("B1:B10")an? Schreibe 0, wenn Zelle leer, sonst nichts.
Frage 2. Gibt es eine Möglichkeit den Code schon auszuführen wenn in den
Zellen ("C1:C10") die Eingabe gemacht wird und nicht erst nach Enter.
Für Vorschlàge bin ich Euch sehr dankbar.

Gruß Johann

Private Sub Worksheet_Change(ByVal Target As Range)
Dim KeyCells As Range
' The variable KeyCells contains the cells that will
' cause an alert when they are changed.
Set KeyCells = Range("C1:C10")
If Not Application.Intersect(KeyCells, Range(Target.Address)) _
Is Nothing Then ' Place your code here.
ActiveCell.Offset(rowOffset:=-1, columnOffset:=-1).Activate
ActiveCell.Value = 0

End If
End Sub
 

Lesen sie die antworten

#1 Claus Busch
07/09/2010 - 10:57 | Warnen spam
Hallo Johann,

Am Tue, 07 Sep 2010 10:47:08 +0200 schrieb Johann Rupp:

Frage 1. Wenn ich im Code eine Abfrage haben möchte, ob die Nachbarzelle
leer ist, müsste dies ja mit einer zusàtzlichen If then Abfrage gehen.
Doch wie spreche ich die entsprechende Zelle im Beispiel wàren
dies("B1:B10")an? Schreibe 0, wenn Zelle leer, sonst nichts.



probiers mal so (Code ins Codemodul des entsprechenden Tabellenblattes):
Private Sub Worksheet_Change(ByVal Target As Range)

If Intersect(Target, Range("C1:C10")) Is _
Nothing Then Exit Sub

If Len(Target.Offset(0, -1)) = 0 Then
Target.Offset(0, -1) = 0
End If

End Sub

Frage 2. Gibt es eine Möglichkeit den Code schon auszuführen wenn in den
Zellen ("C1:C10") die Eingabe gemacht wird und nicht erst nach Enter.
Für Vorschlàge bin ich Euch sehr dankbar.



Wàhrend du im Bearbeitungsmodus bist, wird kein Code ausgeführt. Es geht
also erst nach der Bestàtigung der Eingabe.


Mit freundlichen Grüssen
Claus Busch
Win XP Prof SP2 / Vista Ultimate SP2
Office 2003 SP2 /2007 Ultimate SP2

Ähnliche fragen